zoukankan      html  css  js  c++  java
  • notify wait sleep join yield yield

    notify 和 wait,他们的操作必须有一个公共的锁对象(就相当于下拉框option 的分组一样)

           notify通知之后,也要等到当前线程运行完成,才会释放锁,wait线程才能开始拿到锁,执行(wait()方法之后的)程序

      

    Object.wait()    Object.nitify()   Thread.sleep(),也就是说,sleep()方法是属于Thread调用的,wait() notify()属于Object的

    Object.wait()  会立即释放锁 Thread.sleep()不会释放锁

    join() 加入(拦截等待)  加入的线程先执行完,或者执行一定时间,才会让被加入(被阻断)的线程继续执行

    yield() 谦让       当前线程让出cpu,然后,一起加入到等待线程中

    volatile 关键字,对于保证操作的原子行有非常大的帮助,但是不能替代锁,它无法保证一些复合操作的原子性,比如,无法保证   i++  的原子性操作。

  • 相关阅读:
    CF235D
    模拟赛 circle 题解
    平面图总结
    kd 树总结
    思维题
    luogu P1600 天天爱跑步
    UOJ #42. 【清华集训2014】Sum
    FZOJ 4344 连通性
    平衡树
    计蒜客 T3225 Darko 的生成树
  • 原文地址:https://www.cnblogs.com/sg9527/p/7999438.html
Copyright © 2011-2022 走看看