Java Thread.sleep方法介绍

sleep(long)方法介绍

程序执行sleep()方法后,线程由运行状态进入阻塞状态,阻塞的时间由传入的时间决定。时间过期后,线程变成就绪状态,等待cpu的调度。sleep()方法如果在同步模块中执行,执行sleep()方法后,不会释放锁。

public class ThreadSleep extends Thread{
	
	private String name;
	private Object o;
	public ThreadSleep(String name,Object o){
		this.o = o;
		this.name = name;
	}
	
	public void run() {
		synchronized (o) {
			for(int i = 0;i<10;i++ ){
				try{
					Thread.sleep(1000);
					System.out.println(name + "-----run:"+i);
				}catch(Exception e){
					e.printStackTrace();
				}
			}
		}
	}
	
	
	public static void main(String[] args) {
		Object o = new Object();
		ThreadSleep t1 = new ThreadSleep("t1", o);
		ThreadSleep t2 = new ThreadSleep("t2", o);
		t1.start();
		t2.start();
		
	}

执行结果

t1-----run:0
t1-----run:1
t1-----run:2
t1-----run:3
t1-----run:4
t1-----run:5
t1-----run:6
t1-----run:7
t1-----run:8
t1-----run:9
t2-----run:0
t2-----run:1
t2-----run:2
t2-----run:3
t2-----run:4
t2-----run:5
t2-----run:6
t2-----run:7
t2-----run:8
t2-----run:9


阅读更多
想对作者说点什么?

博主推荐

换一批

没有更多推荐了,返回首页