摘要: 启动一个线程是调用start()方法,使线程所代表的虚拟处理机处于可运行状态,这意味着它可以由JVM 调度并执行,这并不意味着线程就会立即运行。run()方法是线程启动后要进行回调(callback)的方法。 阅读全文
posted @ 2020-12-21 20:27 RanXingshuo 阅读(314) 评论(0) 推荐(0) 编辑
摘要: synchronized关键字可以将对象或者方法标记为同步,以实现对对象和方法的互斥访问,可以用synchronized(对象) { … }定义同步代码块,或者在声明方法时将synchronized作为方法的修饰符。在第60题的例子中已经展示了synchronized关键字的用法。 阅读全文
posted @ 2020-12-21 20:26 RanXingshuo 阅读(88) 评论(0) 推荐(0) 编辑
摘要: 不能。其它线程只能访问该对象的非同步方法,同步方法则不能进入。因为非静态方法上的synchronized修饰符要求执行方法时要获得对象的锁,如果已经进入A方法说明对象锁已经被取走,那么试图进入B方法的线程就只能在等锁池(注意不是等待池哦)中等待对象的锁。 阅读全文
posted @ 2020-12-21 20:25 RanXingshuo 阅读(79) 评论(0) 推荐(0) 编辑