4.04.并发问题

针对线程的安全性问题,我们需要使用同步(就是要加锁,共享资源只能一个人同时访问)锁
语法:

    synchronized( 锁对象 ){
        //操作共享资源的代码
        //....
    }

  1. 代码被多个线程访问

  2. 代码中有共享的数据

  3. 共享数据被多条语句操作

Synchronized 同步代码块的锁对象可以是任意类对象(线程的实现方式是继承于Thread)

synchronized 可以提到方法上
如果是静态方法,Synchronized的锁对象就是当前类的类对象
如果不是静态方法, 在runnable创建方式下可以实现,锁对象就是当前对象 this
只要锁对象一致,就不会有问题

  public synchronized static void demofunction(){
}

线程休眠是很必要的,减少服务器的压力,如果休眠时在同步代码块中,则不会让出同步锁

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容