第一个问题:tp[i].start()只是告诉线程现在是处于可以运行的状态(就绪状态,随时准备运行,但是要根据一定的调度算法开始调度,虽然java是抢占式的运行机制,但是还有一个优先级的问题),而不是正在运行的状态。
学过操作系统,应该很容易理解这个问题,进程有阻塞,就绪,运行等几种状态,
学过操作系统,应该很容易理解这个问题,进程有阻塞,就绪,运行等几种状态,
解决方案 »
- 给一个指定的日期时间“2011-10-18 15:24:25”,加上小时分钟(如10小时,40分钟),如何计算相加之后的日期时间?
- 大神们,如何屏蔽密码,用*号来代替?
- 求论文“基于JSP技术的学术会议论文系统”
- websphere6.1在myEelipse上启动错误,急救..
- 刚刚入职,让开发个小插件,没有思路,请前辈指点!
- 多个web项目结合,一次登录。
- 200分求jdk1.4.2帮助文档!有的给我传一个!谢谢
- weblogic6.1报错:Caused by: java.lang.NoSuchMethodError 的疑惑
- j2ee开发的系统和windows2k实现单一登陆???
- help ! postman接口响应xml报文乱码怎么解决?
- tomcat错误,请大虾帮忙啊
- 请问EJB怎么做测试?
Thread[] tp = new Thread[5];
for (int i=0;i<5;i++){
tp[i] = new Thread(new TimePrinter(3000, "Fast Guy"+i));
tp[i].start();
System.out.println("调用线程");
}
主线程活得执行时间没完,所以一直执行,可以加上Thread.sleep(0);重新分配执行时间即可。
Thread[] tp = new Thread[5];
for (int i=0;i<5;i++){
tp[i] = new Thread(new TimePrinter(3000, "Fast Guy"+i));
tp[i].start();
Thread.sleep(0);
System.out.println("调用线程");
}
Thread[] tp = new Thread[5];
TimePrinter tpInstance=new TimePrinter(3000, "Fast Guy");
for (int i=0;i<5;i++){
tp[i] = new Thread(tpInstance);
tp[i].start();
System.out.println("调用线程");
}
这样的话就同步了,只有一个TimePrinter实例。线程有5个。但是好像不知怎样才能区分线程的名字