admin 管理员组文章数量: 887021
2023年12月19日发(作者:win7oracle安装步骤详细)
java中sleep()的用法(毫秒)
(long millis)和(long millis, int
nanos)静态方法强制当前正在执行的线程休眠(暂停执行),以“减慢线程”。
当线程睡眠时,它睡在某个地方,在苏醒之前不会返回到可运行状态。
当睡眠时间到期,则返回到可运行状态。
线程睡眠的原因:线程执行太快,或者需要强制进入下一轮,因为Java规范不保证合理的轮换。
睡眠的实现:调用静态方法。
[java] view plain copy
1. try {
2. (1000);
3. } catch (InterruptedException e) {
4. tackTrace();
5. }
睡眠的位置:为了让其他线程有机会执行,可以将()的调用放线程run()之内。这样才能保证该线程执行过程中会睡眠。
[java] view plain copy
1. public class TestSleep {
2.
3. public static void main(String[] args) {
4.
5. MyThread2 t1 = new MyThread2("TestSleep");
6. ();
7.
8. for(int i=0 ; i <10; i++)
9. n("I am Main Thread");
10. }
11. }
12.
13. class MyThread2 extends Thread {
14.
15. MyThread2(String s) {
16. super(s);
17. }
18.
19. public void run() {
20. for(int i = 1; i <= 10; i++) {
21. n("I am "+getName());
22. try {
23. sleep(1000); //暂停,每一秒输出一次
24. }catch (InterruptedException e) {
25. return;
26. }
27. }
28. }
29. }
注意:
1、线程睡眠是帮助所有线程获得运行机会的最好方法。
2、线程睡眠到期自动苏醒,并返回到可运行状态,不是运行状态。sleep()中指定的时间是线程不会运行的最短时间。因此,sleep()方
法不能保证该线程睡眠到期后就开始执行。
3、sleep()是静态方法,只能控制当前正在运行的线程。
实例二:一个计数器,计数到100,在每个数字之间暂停1秒,每隔10个数字输出一个字符串
[java] view plain copy
1. public class MyThread extends Thread {
2. public void run() {
3. for (int i = 0; i < 100; i++) {
4. if ((i) % 10 == 0) {
5. n("-------" + i);
6. }
7. (i);
8. try {
9. (1000);
10. (" 线程睡眠1秒!n");
11. } catch (InterruptedException e) {
12. tackTrace();
13. }
14. }
15. }
16. public static void main(String[] args) {
17. new MyThread().start();
18. }
19. }
版权声明:本文标题:java中sleep()的用法(毫秒) 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/jishu/1702953291h437223.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论