黑马程序员技术交流社区
标题: 我的学习分享 [打印本页]
作者: 铁柱 时间: 2017-12-4 16:30
标题: 我的学习分享
亲爱的小伙伴:
最近紧张的学习氛围,有一丝丝的压迫感;
在黑马已经快有两个月的时光,现在回过头来,翻翻之前的学习内容,内心还是比较喜悦的,比起最初的自己,从一名简简单单的小白慢慢的去了解这么神奇,不可思议的互联网科技世界,充满着好奇心,同时静下了心,敲打一行行代码,修改,编写自己的每一个出错的地方.
今天我想向大家说说我对”多线程,锁对象”这一方面,简单层次的认识,如果有不正确的地方,请大家指教.谢谢.
多线程在课程中主要介绍了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 (对象锁)
下面的是上次的考試題:
(谢谢观看)![](static/image/smiley/yct/em95.gif)
-
1.jpg
(165.38 KB, 下载次数: 44)
考试题2
-
2.jpg
(102.66 KB, 下载次数: 62)
考试题1
作者: 奥斯托洛夫斯基 时间: 2017-12-8 16:05
![](static/image/smiley/yct/em03.gif)
![](static/image/smiley/yct/em03.gif)
作者: 项老师 时间: 2018-3-22 15:31
![](static/image/smiley/bozai/15.gif)
作者: O-limin 时间: 2018-3-22 15:34
![](static/image/smiley/dadatu/dadatu36.gif)
作者: 美美就是美 时间: 2018-3-22 15:44
![](static/image/smiley/bozai/30.gif)
作者: 黑马啸西风 时间: 2018-3-22 15:48
![](static/image/smiley/bozai/30.gif)
作者: 皖哥哥 时间: 2018-3-22 16:14
总结到位
作者: 骑着小猪看雪 时间: 2018-3-22 16:58
666
作者: hguilin 时间: 2018-3-22 19:51
666
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |