Java线程:线程的同步-同步块性能
对于同步,除了同步方法外,还能够使用同步代码块,有时候同步代码块会带来比同步方法更好的效果。线程
追其同步的根本的目的,是控制竞争资源的正确的访问,所以只要在访问竞争资源的时候保证同一时刻只能一个线程访问便可,所以Java引入了同步代码快的策略,以提升性能。对象
注意:资源
在使用synchronized关键字时候,应该尽量避免在synchronized方法或synchronized块中使用sleep或者yield方法,由于synchronized程序块占有着对象锁,你休息那么其余的线程只能一边等着你醒来执行完了才能执行。不但严重影响效率,也不合逻辑。同步
一样,在同步程序块内调用yeild方法让出CPU资源也没有意义,由于你占用着锁,其余互斥线程仍是没法访问同步程序块。固然与同步程序块无关的线程能够得到更多的执行时间。效率