黑马程序员技术交流社区

标题: 多线程 [打印本页]

作者: kongyan4696    时间: 2014-6-3 08:40
标题: 多线程
什么是多线程:多个能独立同时运行的代码,

方法:Thread,Runnable


同步:Synchronized代码块,Synchronized函数 同步共享数据。
前提:有2个以上的线程,同一把锁
好处:解决了安全问题,坏处:消耗了资源

1.哪些代码需要多线程执行
2.明确共享数据
3.多线程代码中哪些是操作共享数据的。

Synchronized函数要注意要将操作共享数据的代码独立出来在Synchronized

Synchronized函数      用的锁匙this
Synchronized静态函数  用的锁匙class

进程间的通讯:操作同一共享数据,但操作类型不一样。

wait 释放锁 sleep 不释放锁  notify唤醒wait
wait notify 只能由持有锁的对象来调用

jdk1.5中使用了 Lock类  Condition对象 来替换Synchronized 和 object

守护线程:即后台线程,当前台线程都结束后自动结束

join()  在哪个线程中加入的,那个线程就跪,当执行完后才继续
作者: Blackay    时间: 2014-6-3 08:55
什么是多线程:多个能独立同时运行的代码,

方法:Thread,Runnable


同步:Synchronized代码块,Synchronized函数 同步共享数据。
前提:有2个以上的线程,同一把锁
好处:解决了安全问题,坏处:消耗了资源

1.哪些代码需要多线程执行
2.明确共享数据
3.多线程代码中哪些是操作共享数据的。

Synchronized函数要注意要将操作共享数据的代码独立出来在Synchronized

Synchronized函数      用的锁匙this
Synchronized静态函数  用的锁匙class

进程间的通讯:操作同一共享数据,但操作类型不一样。

wait 释放锁 sleep 不释放锁  notify唤醒wait
wait notify 只能由持有锁的对象来调用

jdk1.5中使用了 Lock类  Condition对象 来替换Synchronized 和 object

守护线程:即后台线程,当前台线程都结束后自动结束

join()  在哪个线程中加入的,那个线程就跪,当执行完后才继续




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2