教程集 www.jiaochengji.com
教程集 >  脚本编程  >  java  >  正文 java多线程休眠工作笔记

java多线程休眠工作笔记

发布时间:2016-10-31   编辑:jiaochengji.com
教程集为您提供java多线程休眠工作笔记等资源,欢迎您收藏本站,我们将为您提供最新的java多线程休眠工作笔记资源
在java中线程休眠的方法Thread.sleep与Thread.sleep了,我们经常会使用它们两个来实现多线程休眠下面来看几个笔记吧。

线程休眠的方法是Thread.sleep(long millis) 和Thread.sleep(long millis, int nanos)
sleep()单位是毫秒

问题1.休眠的时候,哪个线程会休眠
答案:哪个线程调用了sleep,哪个就会休眠

问题2.主线程能休眠了
可以
Thread.sleep()经常被调用来进行程序的等待,比如你想让你的程序定时执行,可以写个代码

<table width="620" align="center" border="0" cellpadding="1" cellspacing="1" style="background:#FB7"> <tr> <td width="464" height="27" bgcolor="#FFE7CE"> 代码如下</td> <td width="109" align="center" bgcolor="#FFE7CE" style="cursor:pointer;" onclick="doCopy('copy5614')">复制代码</td> </tr> <tr> <td height="auto" colspan="2" valign="top" bgcolor="#FFFFFF" style="padding:10px;" class="copyclass" id=copy5614>int a=2
while(a > 1){
   run...
   Thread.sleep(24*3600*1000);// 每天跑一次
}

看个例子

<table width="620" align="center" border="0" cellpadding="1" cellspacing="1" style="background:#FB7"> <tr> <td width="464" height="27" bgcolor="#FFE7CE"> 代码如下</td> <td width="109" align="center" bgcolor="#FFE7CE" style="cursor:pointer;" onclick="doCopy('copy1761')">复制代码</td> </tr> <tr> <td height="auto" colspan="2" valign="top" bgcolor="#FFFFFF" style="padding:10px;" class="copyclass" id=copy1761>

package com.javaer.thread;
 
public class TSleep implements Runnable  {
 
 public static void main(String[] args) {
     Thread s1 = new Thread(new TSleep(),"S1");
     Thread s2 = new Thread(new TSleep(),"S2");
           s1.start();
           s2.start();
 }
 
 @Override
 public void run() {
  // TODO Auto-generated method stub
    for (int i = 0; i < 10; i ) {
              System.out.println("线程" Thread.currentThread().getName() "第" i "次执行!");
              try {
                      Thread.sleep(30);
              } catch (InterruptedException e) {
                      e.printStackTrace();
              }
      }
 }
 
}

线程S1第0次执行!
线程S2第0次执行!
线程S1第1次执行!
线程S2第1次执行!
线程S1第2次执行!
线程S2第2次执行!
线程S2第3次执行!
线程S1第3次执行!
线程S1第4次执行!
线程S2第4次执行!
线程S1第5次执行!
线程S2第5次执行!
线程S2第6次执行!
线程S1第6次执行!
线程S1第7次执行!
线程S2第7次执行!
线程S2第8次执行!
线程S1第8次执行!
线程S1第9次执行!
线程S2第9次执行!

例子得出,线程的时间休眠并非精确控制,只是接近精确。 有时候线程s2先执行了。

您可能感兴趣的文章:
java多线程休眠工作笔记
笔记本开机黑屏如何解决?笔记本开机黑屏怎么办
java多线程学习笔记之线程安全
笔记本进水开不了机怎么处理?维修多少钱?
java多线程的优先级实例程序
[Go 教程系列笔记] goroutine(协程)
Java多线程中的wait与notify,notifyall例子
Windows 8笔记本睡眠休眠无法唤醒屏幕怎么办
《Go 语言程序设计》读书笔记 (七) Goroutine 与系统线程的区别
golang 所有进程休眠_Golang中Goroutine的调度流程

[关闭]
~ ~