![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
多线程
弓长步又
菜鸟晋级中
展开
-
多线程的深入理解
单线程和多线程的比较 多线程的创建方式 调用start方法和调用run方法的区别原创 2015-09-30 11:51:36 · 2242 阅读 · 1 评论 -
同步的进一步了解
一、同步函数 同步函数:用同步关键字(synchronized)对函数进行修饰。则函数具有了同步性。 同步表现形式有两种: 1,同步代码块 2,同步函数 二、同步函数的锁 同步函数需要被对象调用,调用的对象不确定,用this来表示。同步函数使用的锁就是this。 验证同步函数使用的锁是this 验证思路:启动两个线程,一个线程负责执行同步代码块(使用明锁),另一个线程负责执原创 2015-10-01 16:20:56 · 451 阅读 · 0 评论 -
多线程中的同步
一、多线程的安全问题 分析下图可知,当tickets为1的时候,Thread-0执行run方法,在执行tickets--之前,Thread-1也执行了run方法。此时就会产生错误 1、多线程安全问题产生的原因: 1、线程任务中有处理到共享的数据。 2、线程任务中有多条对共享数据的操作。 总结:一个线程在操作共享数据的过程中,其他线程参与了运算,操作了共享数据,造成了数据的错误原创 2015-09-30 23:19:41 · 522 阅读 · 0 评论 -
等待唤醒机制
多线程间的通信、 生产者,消费者、 等待唤醒机制、 等待唤醒机制原理原创 2015-10-02 15:07:53 · 783 阅读 · 0 评论 -
多线程中多生产多消费问题
一、多生产多消费实例 多线程中多生产多消费问题的解决有助于更好的理解多线程的使用。现在通过实例来说明多线程中需要注意的地方。 /** * @author zqx 描述资源 */ public class Resource { private String name; private int count = 1; // 定义flag标记 private boolean flag;原创 2015-10-06 17:35:32 · 1888 阅读 · 0 评论