现在的位置: 首页 > 综合 > 正文

Java多线程–线程操作范例

2013年05月13日 ⁄ 综合 ⁄ 共 1330字 ⁄ 字号 评论关闭

1、实例要求

设计一个线程操作类,要求可以产生三个线程对象,并可以分别设置三个线程的休眠时间:
线程A : 休眠10秒
线程B: 休眠20秒
线程C : 休眠30秒

2、通过继承Thread类

在Thread类中直接存在了name属性。
class MyThread extends Thread{
	private int time ;
	public MyThread(String name,int time){
		super(name) ;	// 设置线程名称
		this.time = time ;	// 设置休眠时间
	}
	public void run(){
		try{
			Thread.sleep(this.time) ;	// 休眠指定的时间
		}catch(InterruptedException e){
			e.printStackTrace() ;
		}
		System.out.println(Thread.currentThread().getName() + "线程,休眠"
			+ this.time + "毫秒。") ;
	}
};
public class ExecDemo01{
	public static void main(String args[]){
		MyThread mt1 = new MyThread("线程A",10000) ;	// 定义线程对象,指定休眠时间
		MyThread mt2 = new MyThread("线程B",20000) ;	// 定义线程对象,指定休眠时间
		MyThread mt3 = new MyThread("线程C",30000) ;	// 定义线程对象,指定休眠时间
		mt1.start() ;	// 启动线程
		mt2.start() ;	// 启动线程
		mt3.start() ;	// 启动线程
	}
};

3、通过实现Runnable接口

应该添加一个name属性,以保存线程名称。
class MyThread implements Runnable{
	private String name ;
	private int time ;
	public MyThread(String name,int time){
		this.name = name ;	// 设置线程名称
		this.time = time ;	// 设置休眠时间
	}
	public void run(){
		try{
			Thread.sleep(this.time) ;	// 休眠指定的时间
		}catch(InterruptedException e){
			e.printStackTrace() ;
		}
		System.out.println(this.name + "线程,休眠"
			+ this.time + "毫秒。") ;
	}
};
public class ExecDemo02{
	public static void main(String args[]){
		MyThread mt1 = new MyThread("线程A",10000) ;	// 定义线程对象,指定休眠时间
		MyThread mt2 = new MyThread("线程B",20000) ;	// 定义线程对象,指定休眠时间
		MyThread mt3 = new MyThread("线程C",30000) ;	// 定义线程对象,指定休眠时间
		new Thread(mt1).start() ;	// 启动线程
		new Thread(mt2).start() ;	// 启动线程
		new Thread(mt3).start() ;	// 启动线程
	}
};

抱歉!评论已关闭.