摘要: 在Java虚拟机中,每个对象(object和class)通过某种逻辑关联监视器,每个监视器和一个对象引用相关联,为了实现监视器的互斥功能,每个对象都关联着一把锁。 一旦方法或者代码块被synchronized修饰,那么这个部分就放入了监视器的监视区域,确保一次只有一个线程执行该部分代码,线程必须在获 阅读全文
posted @ 2018-06-18 22:32 Freak_Lew 阅读(547) 评论(0) 推荐(0) 编辑
摘要: 同步方法默认用this或者当前类class对象作为锁。 同步代码可以选择以什么来加锁,比同步方法更细颗粒化,同步代码可以同步有同步问题的部分代码而不是整个方法。 同步方法用关键字synchronized修饰方法,同步代码主要修饰需要进行同步的代码块,用synchronized(object){代码内 阅读全文
posted @ 2018-06-18 21:55 Freak_Lew 阅读(1434) 评论(0) 推荐(0) 编辑
摘要: 1、新建(new):新建一个线程对象。 2、可运行状态(runnable):线程对象创建后,其他线程调用该对象的start()方法,该状态的线程位于可运行线程池中,等待线程调度选中,获取CPU使用权。 3、运行状态(running):可运行状态的线程获取到了cpu时间片(timeslice),执行程 阅读全文
posted @ 2018-06-18 16:21 Freak_Lew 阅读(1688) 评论(0) 推荐(0) 编辑