Java多线程
北北北北与
朝闻道,夕不甘死
展开
-
【Java多线程学习笔记三】线程间通信
3. 线程间通信 技术点: 使用 wait/notify 实现线程间的通信 生产者/消费者模式的实现 方法 join 的使用 ThreadLocal 类的使用 3.1 等待/通知机制 3.1.1 不使用等待/通知机制实现线程间通信 通过 while(true) 不断轮询,实现线程间通信。 缺点:如果轮询的时间间隔很小,更浪费 CPU 资源;如果轮询的时间间隔很大,有可能会取不到想要的数据,所以就需要有一种机制来实现减小 CPU 的资源浪费,而且还可以实现多个线程间通信,他就是【wait/notify】机原创 2020-06-14 23:45:16 · 191 阅读 · 0 评论 -
【Java多线程学习笔记二】对象及变量的访问控制
2. 对象及变量的并发访问 2.1 synchronized 同步方法 【非线程安全】其实会在多个线程对同一个对象中的实例变量进行并发访问时发生,产生的后果就是【脏读】,也就是取到的数据其实是被更改过的,而【线程安全】就是以获得的实例变量的值是经过同步处理的,不会出现脏读的现象。 2.1.1 方法内的变量为线程安全 非线程安全问题存在于【实例变量】中,如果是方法内部的私有变量,则不存在非线程安全问题,所得结果也就是线程安全的了。 方法中的变量不存在非线程安全的问题,永远都是线程安全的,这时方法内部的变量是私原创 2020-05-29 11:44:11 · 793 阅读 · 0 评论