Java中多线程问题
Posted DREAM
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java中多线程问题相关的知识,希望对你有一定的参考价值。
线程调度中的方法:
- sleep() 顾名思义线程休眠
可传递连个参数[email protected]毫秒 @纳秒 - yield() 暂时挂起
这里的线程会释放资源,但是有一个坑是虽然是释放资源但是是公平竞争资源 如:a线程释放资源后,可能再次获得资源 ,并不存在把资源让给另一个线程
这里经常被误用 - join() 俗称加塞,即插入当前某个正在执行的某个线程里的执行逻辑,暂停正在执行的逻辑,先执行插入的线程的逻辑,然后在执行后面的逻辑
同步问题Java的解决方案:
同步方法:
synchronized 方法声明{
}
同步块:
synchronized (资源对象){
//需要进行同步的方法
}
注:当线程进入同步方法的时候,会获取同步方法所属的对象的锁,一旦获取对象的锁,则其他线程不能执行被锁对象的其他同步的方法。只有
在同步方法执行完毕释放锁后,其他线程才能执行。
以上是关于Java中多线程问题的主要内容,如果未能解决你的问题,请参考以下文章