Java中多线程问题

线程调度中的方法:线程

  1. sleep() 顾名思义线程休眠
    可传递连个参数-@毫秒 @纳秒
  2. yield() 暂时挂起 
    这里的线程会释放资源,可是有一个坑是虽然是释放资源可是是公平竞争资源 如:a线程释放资源后,可能再次得到资源 ,并不存在把资源让给另外一个线程
    这里常常被误用
  3. join() 俗称加塞,即插入当前某个正在执行的某个线程里的执行逻辑,暂停正在执行的逻辑,先执行插入的线程的逻辑,而后在执行后面的逻辑

同步问题Java的解决方案:对象

同步方法:资源

      synchronized 方法声明{同步

        }yield

同步块: 方法

     synchronized (资源对象){解决方案

          //须要进行同步的方法join

        }sync

注:当线程进入同步方法的时候,会获取同步方法所属的对象的锁,一旦获取对象的锁,则其余线程不能执行被锁对象的其余同步的方法。只有
在同步方法执行完毕释放锁后,其余线程才能执行。synchronized

相关文章
相关标签/搜索