2个 sleep()分别代表什么意思?
import java.util.concurrent.*;
import static net.mindview.util.Print.*;public class SimpleDaemons implements Runnable {
public void run() {
try {
while(true) {
TimeUnit.MILLISECONDS.sleep(100); //1、这里的 sleep()是指这个线程将在100毫秒后结束?
print(Thread.currentThread() + " " + this);
}
} catch(InterruptedException e) {
print("sleep() interrupted");
}
}
public static void main(String[] args) throws Exception {
for(int i = 0; i < 10; i++) {
Thread daemon = new Thread(new SimpleDaemons());
daemon.setDaemon(true);
daemon.start();
}
print("All daemons started");
TimeUnit.MILLISECONDS.sleep(175); //2、这里的意思是100毫秒后 main()方法结束?
}
}
如果main()设定的毫秒先结束,那么线程就不再执行了?,这么搞有意义吗?
import java.util.concurrent.*;
import static net.mindview.util.Print.*;public class SimpleDaemons implements Runnable {
public void run() {
try {
while(true) {
TimeUnit.MILLISECONDS.sleep(100); //1、这里的 sleep()是指这个线程将在100毫秒后结束?
print(Thread.currentThread() + " " + this);
}
} catch(InterruptedException e) {
print("sleep() interrupted");
}
}
public static void main(String[] args) throws Exception {
for(int i = 0; i < 10; i++) {
Thread daemon = new Thread(new SimpleDaemons());
daemon.setDaemon(true);
daemon.start();
}
print("All daemons started");
TimeUnit.MILLISECONDS.sleep(175); //2、这里的意思是100毫秒后 main()方法结束?
}
}
如果main()设定的毫秒先结束,那么线程就不再执行了?,这么搞有意义吗?
解决方案 »
- Eclipse做了什么?它生成的.class文件怎么比javac生成的文件大一些?
- 请问大家怎么根据对象名字符串获得对象的变量啊
- 请问:java应用程序(非web的)中,如何设置字体的显示颜色?
- 为什么我的程序中calendar.get(Calendar.YEAR)得到的年份总是错误的啊!
- 郁闷得要自杀呀,这到底是怎么一回事啊。请好心人救救我,给我口气吧。
- 如何实现两个进程间的通信?
- 我是新手,一个很傻的问题,求教!?
- 高分请教 关于 Core Java 2 Volume II 中的 FileNameBean 无法实例化的问题
- 请问如何为JTabbedPane指定字体?因为默认字体太难看了。谢谢
- 请教*.shtml如何生成?谢谢!
- 求一个正则表达式
- 求套与core java2配套的练习题
同样main也不会结束。
为什么把sleep和结束联系起来了呢?
TimeUnit.HOURS.sleep(3); 等价的代码是 Thread.sleep(1000L * 60 * 60 * 3, 0);