A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

铁柱

初级黑马

  • 黑马币:41

  • 帖子:17

  • 精华:0

© 铁柱 初级黑马   /  2017-12-4 16:30  /  1367 人查看  /  8 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

亲爱的小伙伴:
最近紧张的学习氛围,有一丝丝的压迫感;
在黑马已经快有两个月的时光,现在回过头来,翻翻之前的学习内容,内心还是比较喜悦的,比起最初的自己,从一名简简单单的小白慢慢的去了解这么神奇,不可思议的互联网科技世界,充满着好奇心,同时静下了心,敲打一行行代码,修改,编写自己的每一个出错的地方.
今天我想向大家说说我对多线程,锁对象这一方面,简单层次的认识,如果有不正确的地方,请大家指教.谢谢.
多线程在课程中主要介绍了2种实现多线程的方式
第一种:(继承Thread类)
1.定义一个类继承Thread
2.重写run()方法。将你要执行的代码写在run()方法中
3.创建子类对象,调用start()方法开启线程
  注意:同一个对象,不能开启多次线程!
  第二种 (实现 Runnable接口)
1.定义一个类实现 Runnable 接口
2.同样重写run()方法,将要执行的代码写在run()方法中
3.创建实现类对象,然后传入到一个Thread的构造对象中作为参数,然后在用Thread对象调用start()方法开启线程。
然后在使用多线程的情况下,会出现安全性问题,效率高,出错率也高,这时候引入了同步代码块
锁对象来解决问题,其实我对什么同步代码块 锁对象 很模糊,上次的小测试,从错误中找到了一些知识点,总结如下:
知识点:
1.实现Runnable接口的同步代码块可以是This 也可以是该类的字节码文件对象
而继承了Thread 的同步代码块只能是该类的字节码文件对象
2.非静态的同步代码块中锁对象,默认是的This
静态同步方法中锁对象是类的字节码对象
3.在成员变量中,如果此变量需要被共享,需要在变量前添加static修饰
4.synchronized (对象锁)
下面的是上次的考試題:
(谢谢观看)

1.jpg (165.38 KB, 下载次数: 42)

考试题2

考试题2

2.jpg (102.66 KB, 下载次数: 57)

考试题1

考试题1

评分

参与人数 1技术分 +3 收起 理由
皖哥哥 + 3

查看全部评分

8 个回复

倒序浏览
回复 使用道具 举报
回复 使用道具 举报
回复 使用道具 举报
回复 使用道具 举报
回复 使用道具 举报
总结到位
回复 使用道具 举报
666
回复 使用道具 举报
666
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马