黑马程序员技术交流社区

标题: 我的学习分享 [打印本页]

作者: 铁柱    时间: 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 (对象锁)
下面的是上次的考試題:
(谢谢观看)

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

考试题2

考试题2

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

考试题1

考试题1

作者: 奥斯托洛夫斯基    时间: 2017-12-8 16:05

作者: 项老师    时间: 2018-3-22 15:31

作者: O-limin    时间: 2018-3-22 15:34

作者: 美美就是美    时间: 2018-3-22 15:44

作者: 黑马啸西风    时间: 2018-3-22 15:48

作者: 皖哥哥    时间: 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