线程下载案例

package xiancheng;

import java.util.Random;

public class XunLei {

    public static void main(String[] args) throws InterruptedException {
    System.out.println("开始下载");
    
    
  MyTask t=new MyTask("大圣归来.mp4");
  MyTask t1=new MyTask("大圣走了.mp4");
  MyTask t2=new MyTask("大圣又来了.mp4");
  t.setName("猴哥");
  
  System.out.println(Thread.currentThread().getName());//或者getId
  
  
  t.start();
  t1.start();
  t2.start();
  
  t.join();//让主程序执行完毕出现在最末端
  t1.join();
  t2.join();
  
System.out.println("主线程执行完毕");
    }

}
//创建一个线程类(下载任务)
class MyTask extends Thread{
String taskName;

    public MyTask(String taskName) {
    super();
    this.taskName = taskName;
}
    Random r=new Random();
    //线程体;
    @Override
    public void run() {
    for(int i=1;i<=100;i++){
        System.out.println(Thread.currentThread().getName()+","+this.taskName+"下载完成 "+i+"%");
Thread.currentThread().yield();
try { Thread.sleep(r.nextInt(100)+1); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } } System.out.println(this.taskName+"下载完成"); } }

 

posted @ 2017-05-13 13:59  苏轼的红烧肉  阅读(77)  评论(0编辑  收藏  举报