多线程(4):阻止线程运行的几种常见方式
来源:互联网 发布:ping的端口是多少 编辑:程序博客网 时间:2024/06/05 11:55
阻止线程运行也就是让线程从运行状态离开 离开到哪? 死亡or睡眠/阻塞/等待
(1)调用Thread.sleep():使当前线程睡眠至少多少毫秒(尽管它可能在指定的时间之前被中断)。
(2)调用Thread.yield():不能保障太多事情,尽管通常它会让当前运行线程回到可运行性状态,使得有相同优先级的线程有机会执行。
(3)调用join()方法:保证当前线程停止执行,直到该线程所加入的线程完成为止。然而,如果它加入的线程没有存活,则当前线程不需要停止。
除了以上三种方式外,还有下面几种特殊情况可能使线程离开运行状态:
1、线程的run()方法完成。
2、在对象上调用wait()方法(不是在线程上调用)。
3、线程不能在对象上获得锁定,它正试图运行该对象的方法代码。
4、线程调度程序可以决定将当前运行状态移动到可运行状态,以便让另一个线程获得运行机会,而不需要任何理由。
0 0
- 多线程(4):阻止线程运行的几种常见方式
- 多线程:创建线程的几种方式
- 线程池的几种常见的创建的方式
- 线程池的几种常见的创建的方式
- ios线程篇:多线程的几种创建方式
- POSIX多线程程序设计(第4章:使用线程的几种方式)
- php的4种常见运行方式
- php的4种常见运行方式
- JS阻止事件冒泡的几种方式
- Java多线程编程小结+java中创建线程的的几种方式
- 多线程NSThread的简单创建和使用——创建线程的几种方式
- 终止正在运行的子线程(一、几种方式的介绍)
- 几种常见的木马启动方式
- 常见集合的几种遍历方式
- 中国常见的几种网络营销方式
- 字符常见的几种编码方式
- 常见的几种下载方式
- 字符常见的几种编码方式
- 使用HIVE注意点
- 状态栏 导航栏 tabbar背景色&字体颜色设置
- 彻底理解KMP算法
- hive启动报错 hive.metastore.HiveMetaStoreClient
- BFS - 水题
- 多线程(4):阻止线程运行的几种常见方式
- hbase问题 slf4j-log4j12
- Hadoop添加删除节点
- 中小规模Hadoop集群优化
- 设置Hive Map和Reduce的数量增加分析速度
- Java并发编程:Thread类的使用(详解)
- Linux LVM 扩容当前分区
- T4模板调试方法
- Unity 3D 正交(Orthographic)摄像机尺寸学习笔记