请说出你所知道的线程同步的方法。 请说出你所知道的线程同步的方法。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 此回复为自动发出,仅用于显示而已,并无任何其他特殊作用楼主【ruindays】截止到2008-06-29 04:40:16的历史汇总数据(不包括此帖):发帖数:1 发帖分:100 结贴数:0 结贴分:0 未结数:1 未结分:100 结贴率:0.00 % 结分率:0.00 % 如何结贴请参考这里:http://topic.csdn.net/u/20080501/09/ef7ba1b3-6466-49f6-9d92-36fe6d471dd1.html 這個看API好啦~誰記得那麼多啊~ 2 楼 JakkySky 兄厉害,学习 线程同步是指synchronized也就是加锁可以给资源加锁例如 synchronized(目标资源){执行的语句}但是加锁会带来死锁问题 解决办法由两种 一中是wait()notfiy() 另一种是ThreadLocal ThreadLocal 是把发生共享冲突的资源给每个需要的线程拷贝一份 线程结束后再影响到原资源 synchronized,wait sleep notify notifyAll 1. 用 synchronized 修饰需要同步的方法2. 用 synchronized 块包围需要同步的语句3. 使用 java.util.concurrent 包中的各种同步锁...... 线程状态:1,新建状态:线程对象已经被建立,但是还没有启动。2,课运行状态:线程在等待池中。3,被阻塞状态:线程被其他线程阻塞、4,阻塞状态:调用了sleep()方法或者调用了wait()方法5,死亡状态:从run()方法火其他方式返回时,或者杀死线程后。线程的优先级分为[1-10]个级别,不设定的话默认为5通过getPriority()和setpriority()方法来获得和修改线程的优先级。中断线程用Interruptvoid interrupt()方法,是中断线程,中断状态位truestatic boolean interrupt()方法,是将中断线程的状态设为falseboolean interrupt()是检查中断状态static Thread currentThread()是获得当前线程isAlive()是看线程是否终止线程的调度:sleep()是使当前线程停止运行一段时间yiled()是主动让出时间片,让其他线程运行,如果没有其他线程的时候继续执行,保证了CPU的持续运行join()是当前线程通过调用其他线程的join()方法来暂停本线程的执行,等待其他线程消亡后继续执行。线程的冲突:当线程共享同一个资源时,会发生线程冲突同步,能解决冲突使用synchronized()方法和synchronized语句每个类都有一个锁,每个对象也都有一个锁,这个锁是对象的一部分线程调用一个synchronized方法时,就获得了一个锁上锁时,将需要保证原子性(不可中断的线程)的部分锁起来,尽量缩小锁的范围。线程间的写作,等待与通知只能在同步块中使用wait()释放锁,线程回到等待池等待wait(millisec)同上,等待一定的时间notify()通知等待池内随机线程抢锁notifyAll()通知等待池内所有线程抢锁以上纯手工输入,望结分,谢谢。小弟刚学几天,也是菜鸟,希望今后多交流。 1,新建状态:线程对象已经被建立,但是还没有启动。 2,课运行状态:线程在等待池中。 3,被阻塞状态:线程被其他线程阻塞、 4,阻塞状态:调用了sleep()方法或者调用了wait()方法 5,死亡状态:从run()方法火其他方式返回时,或者杀死线程后。 wait()-notify()/notifyAll();sleep();join(); interrupted(),wait(),sleep(),notify(),synchronized,synchronized{},yield(),join(),notifyAll()还有同步化集合类中的一大堆synchronizedXXXX();java.util.concurrent包在的一大堆 如何动态显示页面内容? 对象池怎么实现? 关于一个循环条件 关于synchronized 一个GUI的很小的问题 帮帮忙 谢谢了 ~!!!~! 救命啊 在线初学题目 修改程序 如何执行?在Panel面板中 我在程序中两次使用查询语句,出现SQL Exception,请高手指教 怪怪问题,请看。 JCP的具体作用是什么呢,审核流程是什么样的呢? 18位身份证号码校验码JAVA算法
楼主【ruindays】截止到2008-06-29 04:40:16的历史汇总数据(不包括此帖):
发帖数:1 发帖分:100
结贴数:0 结贴分:0
未结数:1 未结分:100
结贴率:0.00 % 结分率:0.00 %
如何结贴请参考这里:http://topic.csdn.net/u/20080501/09/ef7ba1b3-6466-49f6-9d92-36fe6d471dd1.html
誰記得那麼多啊~
学习
可以给资源加锁例如 synchronized(目标资源){执行的语句}
但是加锁会带来死锁问题 解决办法由两种 一中是wait()notfiy() 另一种是ThreadLocal
ThreadLocal 是把发生共享冲突的资源给每个需要的线程拷贝一份 线程结束后再影响到原资源
wait sleep notify notifyAll
2. 用 synchronized 块包围需要同步的语句
3. 使用 java.util.concurrent 包中的各种同步锁
......
1,新建状态:线程对象已经被建立,但是还没有启动。
2,课运行状态:线程在等待池中。
3,被阻塞状态:线程被其他线程阻塞、
4,阻塞状态:调用了sleep()方法或者调用了wait()方法
5,死亡状态:从run()方法火其他方式返回时,或者杀死线程后。线程的优先级分为[1-10]个级别,不设定的话默认为5
通过getPriority()和setpriority()方法来获得和修改线程的优先级。
中断线程用Interrupt
void interrupt()方法,是中断线程,中断状态位true
static boolean interrupt()方法,是将中断线程的状态设为false
boolean interrupt()是检查中断状态
static Thread currentThread()是获得当前线程
isAlive()是看线程是否终止线程的调度:
sleep()是使当前线程停止运行一段时间
yiled()是主动让出时间片,让其他线程运行,如果没有其他线程的时候继续执行,保证了CPU的持续运行
join()是当前线程通过调用其他线程的join()方法来暂停本线程的执行,等待其他线程消亡后继续执行。线程的冲突:
当线程共享同一个资源时,会发生线程冲突
同步,能解决冲突使用synchronized()方法和synchronized语句每个类都有一个锁,每个对象也都有一个锁,这个锁是对象的一部分线程调用一个synchronized方法时,就获得了一个锁上锁时,将需要保证原子性(不可中断的线程)的部分锁起来,尽量缩小锁的范围。线程间的写作,等待与通知只能在同步块中使用wait()释放锁,线程回到等待池等待
wait(millisec)同上,等待一定的时间
notify()通知等待池内随机线程抢锁
notifyAll()通知等待池内所有线程抢锁以上纯手工输入,望结分,谢谢。
小弟刚学几天,也是菜鸟,希望今后多交流。
2,课运行状态:线程在等待池中。
3,被阻塞状态:线程被其他线程阻塞、
4,阻塞状态:调用了sleep()方法或者调用了wait()方法
5,死亡状态:从run()方法火其他方式返回时,或者杀死线程后。
sleep();
join();
yield(),join(),notifyAll()
还有同步化集合类中的一大堆synchronizedXXXX();
java.util.concurrent包在的一大堆