线程的同步问题------synchronized关键字的运用
2021-05-18 06:28
标签:线程 共享 共享数据 bsp 出现 同步代码块 方法 就是 wait 当多线程程序出现以下情况就需要使用同步来解决: 1.有共享数据。 2.多条语句操作共享数据。 实现同步的方法: 方式一:同步代码块: 同步代码块的格式: synchronized(锁对象){ 需要被同步的代码 } 同步代码块要注意的细节: 1.锁对象可以是任意的对象。 2.锁对象必须是多线程共享的资源,否则无效。 3.同步会影响效率,所以没有线程安全问题就不要使用同步锁 4.调用sleep方法不会释放锁对象,但是调用wait方法的线程会释放锁对象。 方式二:同步方法: 同步方法的格式: 修饰符 synchronized 返回值类型 方法名(参数){ } 同步方法要注意的细节: 1.同步方法的锁对象是固定的,不能由你来指定。 2.非静态同步方法的锁对象是this对象,也就是谁调用的这个方法谁就是这个锁对象。静态方法的锁对象就是这个类名.class这个字节码对象。 线程的同步问题------synchronized关键字的运用 标签:线程 共享 共享数据 bsp 出现 同步代码块 方法 就是 wait 原文地址:https://www.cnblogs.com/TGHZ/p/9745266.html
上一篇:Qt 的线程与事件循环
下一篇:python基础知识点理解(二)
文章标题:线程的同步问题------synchronized关键字的运用
文章链接:http://soscw.com/index.php/essay/87065.html