您的位置:首页 > 编程语言 > Java开发

Java线程---休眠问题来看并发执行

2017-08-12 10:33 148 查看
同一个进程中的3个线程是并发执行的,我们通过输出的时间点现象来看,线程的并发执行

最近突然越来感觉写博客似乎是一种很怡情的事情,可能是无聊,可能是心里面对现状的不满,希望通过学习改变自己,也只是希望,好了我们来进入正题。

休眠问题:

  一句话 :Thread.sleep();

我们知道线程在操作系统中执行时并发执行的,那么我们来做个试验


上面的这个图片什么意思呢,我们可以看到71,出现了3次,而且我可以告诉 你我在控制台中看到的是三个71几乎是同时出现的,和前面的3个70之间隔了一秒

,我们来看程序:

package com.epoint.wdgtest;

public class WdgTest
{
//用休眠来看程序的并发执行
public static void main(String [] args){
Thread mt1=new myThread();
Thread mt2=new myThread();
Thread mt3=new myThread();
mt1.start();
mt2.start();
mt3.start();
}
}
class myThread extends Thread{
public void run(){
for(int i=0;i<2000;i++){
try {
Thread.sleep(1000);
}
catch (InterruptedException e) {

e.printStackTrace();
}
System.out.println(this.currentThread().getName()+"----"+i);

}
}
}三个71几乎同时出现意味着三个线程几乎同执行了输出语句,也就是说上面的休眠是几乎同时结束的,可见3个实现在同一个时间点进行了休眠,所以说线程之间是并发执行的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: