Java线程调度之线程休眠用法分析

所属分类: 软件编程 / java 阅读数: 48
收藏 0 赞 0 分享

本文实例分析了Java线程调度之线程休眠用法。分享给大家供大家参考。具体分析如下:

Java线程调度是Java多线程的核心,只有良好的调度,才能充分发挥系统的性能,提高程序的执行效率。
 
这里要明确的一点,不管程序员怎么编写调度,只能最大限度的影响线程执行的次序,而不能做到精准控制。
 
线程休眠的目的是使线程让出CPU的最简单的做法之一,线程休眠时候,会将CPU资源交给其他线程,以便能轮换执行,当休眠一定时间后,线程会苏醒,进入准备状态等待执行。
 
线程休眠的方法是Thread.sleep(long millis) 和Thread.sleep(long millis, int nanos) ,均为静态方法,那调用sleep休眠的哪个线程呢?简单说,哪个线程调用sleep,就休眠哪个线程。

/** 
* Java线程:线程的调度-休眠 
* 
* @author leizhimin 2009-11-4 9:02:40 
*/ 
public class Test { 
 public static void main(String[] args) { 
  Thread t1 = new MyThread1(); 
  Thread t2 = new Thread(new MyRunnable()); 
  t1.start(); 
  t2.start(); 
 } 
} 
class MyThread1 extends Thread { 
 public void run() { 
  for (int i = 0; i < 3; i++) { 
   System.out.println("线程1第" + i + "次执行!"); 
   try { 
    Thread.sleep(50); 
   } catch (InterruptedException e) { 
    e.printStackTrace(); 
   } 
  } 
 } 
} 
class MyRunnable implements Runnable { 
 public void run() { 
  for (int i = 0; i < 3; i++) { 
   System.out.println("线程2第" + i + "次执行!"); 
   try { 
    Thread.sleep(50); 
   } catch (InterruptedException e) { 
    e.printStackTrace(); 
   } 
  } 
 } 
}

运行结果如下:

线程2第0次执行! 
线程1第0次执行! 
线程1第1次执行! 
线程2第1次执行! 
线程1第2次执行! 
线程2第2次执行! 

Process finished with exit code 0

从上面的结果输出可以看出,无法精准保证线程执行次序。

更多精彩内容其他人还在看

利用MultipartFile实现文件上传功能

这篇文章主要为大家详细介绍了利用MultipartFile实现文件上传功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

Java编程实现NBA赛事接口调用实例代码

这篇文章主要介绍了Java编程实现NBA赛事接口调用实例代码,具有一定参考价值,需要的朋友可以了解下。
收藏 0 赞 0 分享

Java编程之双重循环打印图形

这篇文章主要介绍了Java编程之双重循环打印图形,属于Java编程基础练习部分,具有一定参考价值,需要的朋友可以了解下。
收藏 0 赞 0 分享

java基础学习JVM中GC的算法

这篇文章主要介绍了java基础学习JVM中GC的算法,通过图文加深对GC算法思路的理解。
收藏 0 赞 0 分享

Java编程Post数据请求和接收代码详解

这篇文章主要介绍了Java编程Post数据请求和接收代码详解,涉及enctype的三种编码,post与get等相关内容,具有一定参考价值,需要的朋友可以了解下。
收藏 0 赞 0 分享

Retrofit+Rxjava实现文件上传和下载功能

这篇文章主要介绍了Retrofit+Rxjava实现文件上传和下载功能,文中提到了单文件上传和多文件上传及相关参数的请求,需要的朋友参考下吧
收藏 0 赞 0 分享

Retrofit+Rxjava下载文件进度的实现

这篇文章主要介绍了Retrofit+Rxjava下载文件进度的实现,非常不错,具有参考借鉴价值,需要的朋友可以参考下
收藏 0 赞 0 分享

java检查服务器的连通两种方法代码分享

这篇文章主要介绍了java检查服务器的连通两种方法代码分享,涉及ping的介绍以及检查服务器连通的两种方法代码示例,具有一定参考价值,需要的朋友可以了解下。
收藏 0 赞 0 分享

Java/Android 获取网络重定向文件的真实URL的示例代码

本篇文章主要介绍了Java/Android 获取网络重定向文件的真实URL的示例代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

java并发编程之同步器代码示例

这篇文章主要介绍了java并发编程之同步器代码示例,分享了相关代码,具有一定参考价值,需要的朋友可以了解下。
收藏 0 赞 0 分享
查看更多