A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 枫儿 金牌黑马   /  2013-10-8 20:51  /  1328 人查看  /  5 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 枫儿 于 2013-10-9 10:30 编辑
  1. public static void main(String[] args) {
  2.   Thread t1=new Thread(new Thread1());
  3.   Thread t2=new Thread(new Thread2());
  4.   t1.start();
  5.   t2.start();
  6. }}
  7. class Thread1 implements Runnable{
  8.   public void run() {
  9.    for (int i = 0; i < 100; i++) {
  10.     System.out.println("t1......"+i);
  11.    }
  12.   }
  13.   }
  14. class Thread2 implements Runnable{
  15.   public void run() {
  16.    for (int i = 0; i < 100; i++) {
  17.     System.out.println("t2......"+i);
  18.    }
  19.   }
复制代码

我创建两个线程,t1和t2,为什么开启后一人输出一次的,不是无规律的么?
输出结果:
t1......0
t2......0
t1......1
t2......1
t1......2
t2......2
t1......3
t2......3
t1......4
t2......4
t1......5
t2......5

评分

参与人数 1技术分 +1 收起 理由
乔兵 + 1

查看全部评分

5 个回复

倒序浏览
这跟你CPU时间片的划分有关,ti和t2是交替运行的,各占CUP的时间片差不多,所以输出的结果看似交替的输出,不是无规律的输出。如果你不想看到交替输出,你可以改变两个两个线程的优先级,增加输出的次数,后面输出的次数就会不一样了

评分

参与人数 1技术分 +1 收起 理由
乔兵 + 1 赞一个!

查看全部评分

回复 使用道具 举报
是无规则的   你可以看毕老师的视频有讲解   和你的电脑配置双核单核有关   
回复 使用道具 举报
你多运行几次,结果就会和你想要的一样了,只是CPU分配的原因
回复 使用道具 举报
是CPU的问题,.   只会有微弱的差距, 跟CPU分的状态有关~  在弱弱的透露下 有的CPU 号称双核, 其实也撒单核心
回复 使用道具 举报
To 金牌黑马 2013-10-9 08:42:16
地板
如果问题已解决,请将帖子改为提问结束,如果没有解决请楼主继续提问,谢谢合作
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马