当前位置:编程学习 > JAVA >>

线程操作范例

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() ;   // 启动线程  
    }  
};  

 

 
 
 
补充:软件开发 , Java ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,