
线程
文章平均质量分 74
瓦蓝色的天空
Be who you are
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
线程的生命周期
也就是说,可运行状态的线程可能在运行,也可能不在运行,虽然源码中没有进一步细分为两个状态,不过可以参照 linux 的进程状态,进一步将可运行状态细分为就绪状态(READY)和运行中状态(RUNNING)线程执行终止,即 run() 方法执行完成.这个线程对象也许还存活着,但它已经不是一个单独执行的线程,线程一旦终止了,不能复生。可运行状态的线程位于可运行线程池中,等待被线程调度程序选中,被选中后,获得 CPU 时间片,然后真正执行.新创建了一个线程对象,但还没有调用 start() 方法。原创 2024-09-15 15:51:45 · 410 阅读 · 0 评论 -
obj.wait() 方法注意事项
除了被唤醒,中断,或达到超时时间之外,一个线程仍然可以唤醒,所谓的虚假唤醒,虽然(这种情况)实际发生的概率很低,但是应用程序还是应该通过检测条件是否满足(不满足时继续等待)来处理这种情况.换句话说,wait() 方法应该总是写在循环里面.线程被唤醒之后不会立即执行,而是进入入口就绪队列,当这个被唤醒的线程再次获取 CPU 执行权后,会从调用 wait() 方法之后的地方开始执行,但是此时条件可能仍然不满足,因此必须重新检查,也因此 wait() 方法应该写在循环里面.原创 2024-09-15 15:55:23 · 405 阅读 · 0 评论 -
ThreadLocal是什么?
ThreadLocal源码原创 2017-12-26 18:38:49 · 596 阅读 · 0 评论