黑马程序员JAVA篇--多线程总结

 1. 线程概念   | 继承Thread类,自定义的子类就是一个线程类   | 建立子类的对象,调用Thread类中的start方法       start方法,开启线程,JVM会自动调用该线程的run方法    =====================================================

  | 覆盖接口中的run方法   | 调用Thread类中的start方法,开启线程

  两种方式的区别    | 接口可以多实现,实现Runnable接口方式,避免了单继承的局限性    | 实现Runnable接口的方式,线程操作的数据是共享的

 3. 多线程的状态图    | 运行  start    | 冻结  放弃执行资格,放弃CPU的执行权       | wait()  notify()  notifyAll()    |-- 临时阻塞 有执行资格,没有CPU的执行权,等待CPU来处理

 4. 线程的名字 Thread-编号开始,编号从0开始    | 还可以使用Thread类的构造方法,自己设置线程的名字

   | 如果不是Thread类,也不是子类  Threa.currentThread().getName()    | 引出了线程操作共享数据的安全隐患    | 解决办法使用同步代码块来实现的        synchronized(对象){            就是线程操作的共享数据        }    | 如果一个函数中,所有的代码,都是线程操作的共享数据,函数修饰成同步的         synchronized写在函数上     | 静态函数的锁是本类名.class 写同步代码块锁也是本类名.class

  7 .死锁案例     | 由于延迟加载对象,导致了线程的安全性     | <a href="ASP.Net+Android+IOS‘>http://edu.csdn.net"target="blank">ASP.Net+Android+IOS开发</a>、<a href=".Net‘>http://edu.csdn.net"target="blank">.Net培训</a>、期待与您交流! ----------------------

黑马程序员JAVA篇--多线程总结

上一篇:QTextCodec中的setCodecForTr等终于消失了 (Qt5)


下一篇:Qt中translate、tr关系 与中文问题