• 线程唤醒多线程之等待唤醒机制线程唤醒


    发一下牢骚和主题无关:

         总结一下多线程中之重要点——等待唤醒制机

           先用一个艰深的例子来明说等待唤醒制机的理原,小时候,我们都起一玩过一个游戏,名字想不起来了,就是一伙小朋 友,抽出其中最走运的一个,其他的就到处跑,逃离最走运的,规矩:当最走运的小盆友要住抓其他小盆友中的一个时,如果反响的快时,说一声“木(定,就是不能动)”,走运的小盆友就不能抓他,而去抓其他的,只有等到其他的小盆友来碰他(木的那个)一下,才可以被拯救,又当部全木完时,最走运的小盆友就变运幸了,同时部全拯救。

          析分:最走运的小盆友就如CPU,做着切换动作, 其中木的那个小盆友就如一个线程,“木”就如wait(),碰他一下就如notify(),部全拯救就如notifyAll(),

           线程之间的关系是同等的,彼此之间不并存在任何依附,它们各自竞争CPU资源,各执己见,并且还无条件地阻挠其他线程对共享资源的步异问访。然而,也有很多现实问题求要不仅要步同的问访统一共享资源,而且线程间还彼此制牵,通过互相通信来向前进推。

          注意点:1在循环式选择上,最好用使while循环,他是须要先判断的,

                  2当有很多线程时,唤醒用notifyAll();

         单简的等待唤醒制机码代:

        

                   

    文章结束给大家分享下程序员的一些笑话语录: 爱情观
      爱情就是死循环,一旦执行就陷进去了。
      爱上一个人,就是内存泄露--你永远释放不了。
      真正爱上一个人的时候,那就是常量限定,永远不会改变。
      女朋友就是私有变量,只有我这个类才能调用。
      情人就是指针用的时候一定要注意,要不然就带来巨大的灾难。

  • 相关阅读:
    二、魔法函数
    Metaclasses
    一、python中的一切皆对象
    三、鸭子类型
    SQL进行排序、分组、统计的10个新技巧
    输入地址栏可以编辑页面的js
    项目开发中常用JS表单取值方法
    [导入]通用的分页存储过程
    107个常用Javascript语句
    [导入]事务处理
  • 原文地址:https://www.cnblogs.com/javawebsoa/p/3032236.html
Copyright © 2020-2023  润新知