
线程状态
线程状态
李智文
如鹿渴望着水
展开
-
线程状态概述
线程状态概述:线程状态图:线程状态理解:我们创建了多个线程(新建状态)并调用start方法启动线程,这些线程有些抢到cpu执行权有些没有抢到,抢到的进入运行状态,没抢到的进入阻塞状态,如果运行状态中的线程执行完毕(run()方法结束),或者调用stop()强制关闭线程,或者run()方法中产生异常,则会进入死亡状态.如果线程在运行状态执行时调用sleep(long)或者wait(lon...原创 2019-10-05 11:39:46 · 236 阅读 · 0 评论 -
等待唤醒案例分析
线程中的Waiting(无限等待)Wating状态在API中介绍为:一个正在无限期等待另一个线程执行一个特别的(唤醒)动作的线程处于这一状态。案例:这就相当于买包子或者去麦当劳点餐:1.你告诉售货员你要吃什么套餐2.售货员给你点餐号码,此时开始调用wait()方法等待3.套餐做好了,服务员点到你的餐号让你取餐,此时开始调用notify()方法继续...原创 2019-10-05 15:44:47 · 279 阅读 · 0 评论 -
等待唤醒案例代码实现
代码:package demo06.waitAndNotify;/** * @Description: java类作用描述 * @Author: Zhiwen.Li【 * @CreateDate: 2019/10/5 16:02 * @UpdateUser: Zhiwen.Li * @UpdateDate: 2019/10/5 16:02 * @UpdateRemark: 修改内...原创 2019-10-05 16:30:18 · 365 阅读 · 0 评论 -
Object类中wait带参方法和notify
进入到TimeWaiting(计时等待)有两种方式:1.使用sleep(long m)方法,在毫秒值结束之后,线程睡醒进入到Runnable/Blocked(运行/阻塞)状态2.使用wait(long m)方法,wait方法如果在毫秒值结束之后,还没有被notify唤醒,就会自动醒来,线程睡醒进入到Runnable/Blocked状态wait(long m)唤醒的方法①void not...原创 2019-10-06 11:18:43 · 410 阅读 · 0 评论 -
线程间通信
概念:多个线程在处理同一个资源,但是处理的动作(线程的任务)却不相同。比如:线程A用来生成包子的,线程B用来吃包子的,包子可以理解为同一资源,线程A与线程B处理的动作,一个 是生产,一个是消费,那么线程A与线程B之间就存在线程通信问题。为什么要处理线程间通信: 多个线程并发执行时, 在默认情况下CPU是随机切换线程的,当我们需要多个线程来共同完成一件任务,并且我们 希望他们有规律的执行, 那...原创 2019-10-07 11:13:31 · 314 阅读 · 0 评论 -
等待唤醒机制概述
什么是等待唤醒机制: 这是多个线程间的一种协作机制。谈到线程我们经常想到的是线程间的竞争(race),比如去争夺锁,但这并不是 故事的全部,线程间也会有协作机制。就好比在公司里你和你的同事们,你们可能存在在晋升时的竞争,但更多时 候你们更多是一起合作以完成某些任务。 就是在一个线程进行了规定操作后,就进入等待状态(wait()), 等待其他线程执行完他们的指定代码过后 再将 其唤醒(notify(...原创 2019-10-07 11:53:06 · 822 阅读 · 0 评论 -
等待唤醒机制需求分析
等待唤醒机制代码实现原创 2019-10-07 12:25:38 · 304 阅读 · 0 评论 -
等待唤醒机制代码实现
包子类:package demo06.waitAndNotify.baoZi;/** * @Description: java类作用描述 * @Author: Zhiwen.Li * @CreateDate: 2019/10/7 12:49 * @UpdateUser: Zhiwen.Li * @UpdateDate: 2019/10/7 12:49 * @UpdateRemar...原创 2019-10-07 14:54:50 · 255 阅读 · 0 评论