唤醒线程的方法,线程休眠唤醒
总结多线程的重要点:3354等待唤醒系统。
先说一个比较难的例子,解释一下等待唤醒机的原因。小时候我们都玩过一个游戏,名字想不起来了。是一群朋友抽到了其中最幸运的一个,其他的都跑来跑去躲避最幸运的一个。规则是:当最幸运的朋友想抓住其他朋友中的一个时,如果反应快,就说“木(丁),那就是只有当其他小盆友碰到他(那个木的)才能得救,而当所有的木头都吃完时,最幸运的小盆友就会变得幸运,所有的小盆友同时得救。
解析:最幸运的小伙伴就像CPU,做着切换动作,其中Mu的小伙伴就像一根线,“Mu”就像wait(),碰到他就像notify(),部分拯救就像notifyAll(),
线程之间的关系是一样的,它们之间没有依赖关系。他们争夺CPU资源,各持己见,无条件阻止其他线程访问共享资源。但是也有很多实际问题,这就要求我们不仅要同步请求和共享资源,而且线程之间要互相牵手,通过互相通信来推进。
注意:1在圆形选择中,最好是while circular,这个需要先判断。
2线程多的时候,用notifyall()唤醒;
简单的等待唤醒码生成;
文末,我想分享一些程序员的笑话语录:
爱情愿景
爱情是一个无限循环,一旦执行,就陷入其中。
爱上一个人是一种记忆泄露——你永远无法释放。
当你真正爱上一个人的时候,是不变的,永远不会变。
女朋友是私有变量,只能由我的类调用。
使用情人的教鞭时要小心,否则会带来巨大的灾难。