码迷,mamicode.com
首页 > 编程语言 > 详细

Java中多线程问题

时间:2017-02-21 17:33:02      阅读:177      评论:0      收藏:0      [点我收藏+]

标签:被锁   方案   对象   插入   传递   方法   执行   线程调度   其他   

线程调度中的方法:

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

同步问题Java的解决方案:

同步方法:

      synchronized 方法声明{

        }

同步块: 

     synchronized (资源对象){

          //需要进行同步的方法

        }

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

Java中多线程问题

标签:被锁   方案   对象   插入   传递   方法   执行   线程调度   其他   

原文地址:http://www.cnblogs.com/save-shengfei/p/6424297.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!