亲爱的小伙伴: 最近紧张的学习氛围,有一丝丝的压迫感; 在黑马已经快有两个月的时光,现在回过头来,翻翻之前的学习内容,内心还是比较喜悦的,比起最初的自己,从一名简简单单的小白慢慢的去了解这么神奇,不可思议的互联网科技世界,充满着好奇心,同时静下了心,敲打一行行代码,修改,编写自己的每一个出错的地方. 今天我想向大家说说我对”多线程,锁对象”这一方面,简单层次的认识,如果有不正确的地方,请大家指教.谢谢. 多线程在课程中主要介绍了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 (对象锁) 下面的是上次的考試題: (谢谢观看)
|