线程中yield()方法的一个奇怪的问题
来源:互联网 发布:设计班服要用什么软件 编辑:程序博客网 时间:2024/05/01 06:43
今天做了个关于yield方法的一个小例子测试,
一个线程循环50次,用变量i标记,并每次输出当前循环到第几次(输出i),
当i为整10的数时调用yield方法(if(0 == i%10))
本以为一个这么小的例子应该不会出什么问题,结果。。。。
下面贴出源代码和4次测试结果
源代码:
public class TestYield {public static void main(String[] args) {Thread4 t1 = new Thread4("1");Thread4 t2 = new Thread4("2");t1.start();t2.start();}}class Thread4 extends Thread {public Thread4(String name) {super(name);}public void run() {for(int i=1; i<=50; i++) {System.out.println("thread "+getName()+":"+i);if(0 == i%10) {yield();}}}}
结果1:
thread 1:1thread 1:2thread 1:3thread 1:4thread 1:5thread 1:6thread 1:7thread 1:8thread 1:9thread 1:10thread 2:1thread 2:2thread 2:3thread 2:4thread 2:5thread 2:6thread 2:7thread 2:8thread 2:9thread 2:10thread 1:11thread 1:12thread 2:11thread 2:12thread 2:13thread 2:14thread 2:15thread 2:16thread 2:17thread 1:13thread 1:14thread 1:15thread 1:16thread 1:17thread 1:18thread 1:19thread 1:20thread 2:18thread 2:19thread 2:20//这里异常thread 2:21thread 2:22thread 2:23thread 2:24thread 2:25thread 2:26thread 2:27thread 2:28thread 2:29thread 2:30//这里异常thread 2:31thread 2:32thread 1:21thread 1:22thread 1:23thread 1:24thread 1:25thread 1:26thread 1:27thread 1:28thread 1:29thread 1:30//这里异常thread 1:31thread 1:32thread 1:33thread 1:34thread 1:35thread 1:36thread 1:37thread 1:38thread 1:39thread 1:40thread 2:33thread 2:34thread 2:35thread 2:36thread 2:37thread 2:38thread 2:39thread 2:40thread 1:41thread 1:42thread 1:43thread 2:41thread 2:42thread 2:43thread 2:44thread 2:45thread 2:46thread 2:47thread 2:48thread 2:49thread 2:50thread 1:44thread 1:45thread 1:46thread 1:47thread 1:48thread 1:49thread 1:50结果2:
thread 1:1thread 1:2thread 1:3thread 1:4thread 2:1thread 2:2thread 2:3thread 2:4thread 2:5thread 2:6thread 2:7thread 2:8thread 2:9thread 2:10thread 1:5thread 1:6thread 1:7thread 1:8thread 1:9thread 1:10thread 2:11thread 2:12thread 2:13thread 2:14thread 2:15thread 2:16thread 2:17thread 2:18thread 2:19thread 2:20//这里异常thread 2:21thread 2:22thread 2:23thread 2:24thread 2:25thread 2:26thread 2:27thread 2:28thread 2:29thread 2:30//这里异常thread 2:31thread 2:32thread 2:33thread 2:34thread 2:35thread 2:36thread 2:37thread 2:38thread 2:39thread 2:40//这里异常thread 2:41thread 2:42thread 2:43thread 2:44thread 2:45thread 2:46thread 2:47thread 2:48thread 2:49thread 2:50thread 1:11thread 1:12thread 1:13thread 1:14thread 1:15thread 1:16thread 1:17thread 1:18thread 1:19thread 1:20thread 1:21thread 1:22thread 1:23thread 1:24thread 1:25thread 1:26thread 1:27thread 1:28thread 1:29thread 1:30thread 1:31thread 1:32thread 1:33thread 1:34thread 1:35thread 1:36thread 1:37thread 1:38thread 1:39thread 1:40thread 1:41thread 1:42thread 1:43thread 1:44thread 1:45thread 1:46thread 1:47thread 1:48thread 1:49thread 1:50
结果3:
thread 1:1thread 1:2thread 1:3thread 1:4thread 1:5thread 1:6thread 1:7thread 1:8thread 1:9thread 1:10//这里异常thread 1:11thread 1:12thread 1:13thread 1:14thread 1:15thread 1:16thread 1:17thread 1:18thread 1:19thread 1:20//这里异常thread 1:21thread 1:22thread 1:23thread 1:24thread 1:25thread 1:26thread 1:27thread 1:28thread 1:29thread 1:30//这里异常thread 1:31thread 2:1thread 2:2thread 2:3thread 2:4thread 2:5thread 2:6thread 2:7thread 2:8thread 2:9thread 2:10thread 1:32thread 1:33thread 1:34thread 1:35thread 1:36thread 1:37thread 1:38thread 1:39thread 1:40thread 2:11thread 2:12thread 2:13thread 2:14thread 2:15thread 2:16thread 2:17thread 2:18thread 2:19thread 2:20thread 1:41thread 1:42thread 1:43thread 1:44thread 1:45thread 1:46thread 1:47thread 1:48thread 1:49thread 1:50thread 2:21thread 2:22thread 2:23thread 2:24thread 2:25thread 2:26thread 2:27thread 2:28thread 2:29thread 2:30thread 2:31thread 2:32thread 2:33thread 2:34thread 2:35thread 2:36thread 2:37thread 2:38thread 2:39thread 2:40thread 2:41thread 2:42thread 2:43thread 2:44thread 2:45thread 2:46thread 2:47thread 2:48thread 2:49thread 2:50
结果4:
thread 1:1thread 1:2thread 1:3thread 1:4thread 1:5thread 1:6thread 1:7thread 2:1thread 2:2thread 2:3thread 2:4thread 2:5thread 2:6thread 2:7thread 2:8thread 2:9thread 2:10thread 1:8thread 1:9thread 1:10thread 2:11thread 2:12thread 2:13thread 2:14thread 2:15thread 2:16thread 2:17thread 2:18thread 2:19thread 2:20//这里异常thread 2:21thread 2:22thread 2:23thread 2:24thread 2:25thread 2:26thread 2:27thread 1:11thread 2:28thread 2:29thread 2:30thread 1:12thread 1:13thread 1:14thread 1:15thread 1:16thread 1:17thread 1:18thread 1:19thread 1:20thread 2:31thread 2:32thread 2:33thread 2:34thread 2:35thread 2:36thread 2:37thread 2:38thread 2:39thread 2:40//这里异常thread 2:41thread 2:42thread 2:43thread 2:44thread 2:45thread 2:46thread 2:47thread 2:48thread 2:49thread 2:50thread 1:21thread 1:22thread 1:23thread 1:24thread 1:25thread 1:26thread 1:27thread 1:28thread 1:29thread 1:30thread 1:31thread 1:32thread 1:33thread 1:34thread 1:35thread 1:36thread 1:37thread 1:38thread 1:39thread 1:40thread 1:41thread 1:42thread 1:43thread 1:44thread 1:45thread 1:46thread 1:47thread 1:48thread 1:49thread 1:50
运行4次,每次都有异常
求解?
- 线程中yield()方法的一个奇怪的问题
- 线程的Yield方法
- 游戏中一个奇怪的崩溃问题
- 一个奇怪的问题
- 一个奇怪的问题
- 一个奇怪的问题
- 一个奇怪的问题
- 线程中yield()与join()方法的使用
- Java线程中yield与join方法的区别
- Java线程中yield与join方法的区别
- Java线程中yield与join方法的区别
- Java线程中yield与join方法的区别
- Java线程中yield与join方法的区别
- Java线程中yield与join方法的区别
- Java线程中yield与join方法的区别
- Java线程中yield与join方法的区别
- Java线程中yield与join方法的区别
- 一个奇怪的子线程更新UI问题
- VB限制窗体内所有文本框为空
- mysql常见问题集(1)-持续更新
- 回归验证
- QC10.0 lincese (仅供参考学习):
- (转)Windows下导出postgres数据
- 线程中yield()方法的一个奇怪的问题
- 自定义document.getElementsByName() 兼容IE Firfox
- 让单文档程序只运行一次
- SQL中char、varchar、text和nchar、nvarchar、ntext的区别
- Struts2利用stream直接输出Excel
- FAT,FAT32,NTFS单目录文件数量限制
- ORACLE PL/SQL编程之把过程与函数说透
- dizhi
- 一个简单的Ajax实例