随笔分类 -  java多线程深入了解

摘要:经典的消费者和生产者的关系 1.未使用线程同步的生产者消费者的关系 1)由于线程没有同步,消费者还没访问上一个数据,生产者就将新的数据写入了共享区,这可能导致数据丢失 表现为: 生产了8,9.而8丢失了 2)生产者生产下一个数据之前,消费者又访问了一次数据,这就可能导致数据重复。 变现为 代码为: 阅读全文
posted @ 2016-12-05 11:04 笨蛋敏 阅读(249) 评论(0) 推荐(0)
摘要:1.每个线程都有优先级,默认为Thread.NORM_PRIORITY为5,最小为MIN_PRIORITY为1,最大Thread.MAX_PRIORITY为10,新线程继承父线程的优先级。 2.采用分片的方式,每个线程只能在一个短暂的处理器时间分片内执行,时间分片结束的时候,即使线程没有执行完,也要 阅读全文
posted @ 2016-12-02 14:58 笨蛋敏 阅读(332) 评论(0) 推荐(0)
摘要:1.线程刚创建的时候称为“新生“状态 2.嗲用了start方法之后,就进入了“就绪”状态。 3.当run方法执行完毕或者调用了stop方法,该线程就进入停止状态,一个停止的线程将被系统永久清除。 4.当一个正在运行的线程发出输入输出请求的时候,就会进入“阻塞“状态,当输入输出得到回应的时候,阻塞线程 阅读全文
posted @ 2016-12-01 15:08 笨蛋敏 阅读(148) 评论(0) 推荐(0)
摘要:1.完成一个线程的实际功能的代码放在run方法中,run方法可以在thread的一个子类中重写,有也可以在Runnable对象中重写, 2.通过start方法可以启动一个新线程,当使用start方法启动了新线程后,程序控制立即返回调用者,然后新线程和调用者就可以并发地执行。如何用start启动一个已 阅读全文
posted @ 2016-12-01 10:59 笨蛋敏 阅读(246) 评论(0) 推荐(0)