• 多线程


    方法一:

    /**
    * 如何创建多线程
    * 1.定义一个类继承Thread类
    * 2.覆盖Thread类中的run方法
    * 3.直接创建Thread的子类对象创建线程
    * 4.调用start方法开启线程并调用线程的任务run方法执行 
    * @author 罗摩衔那
    *
    */
    class Demo6 extends Thread{
    private String name;
    Demo6(String name){
    super(name);//调用的是父类的Thread(String name)方法,获取的是线程名
    //this.name=name;
    }
    public void run() {
    show();
    }
    
    public void show() {
    for (int i = 0; i < 10; i++) {
    //可以通过Thread的getName获取线程的名称 Thread-(从0开始)
    //获取当前线程的名字
    System.out.println(name+"....i"+i+" name:"+Thread.currentThread().getName());
    }
    }
    
    }
    public class Demo5 {
    public static void main(String[] args) {
    Demo6 d1=new Demo6("小黑");
    Demo6 d2=new Demo6("heima");
    d1.start();//开启线程线程
    d2.start();
    System.out.println("over...."+Thread.currentThread().getName());
    }
    }
    

      

    方法二:

    /**
    * 创建线程的第二种方式:实现Runnable接口
    * 
    * 1.定义类实现Runnable接口
    * 2.覆盖接口中的run方法,将线程任务代码封装在run方法中
    * 3.通过Thread类创建线程对象,并将Runnable接口的对象作为Thread类的构造函数的参数进行传递
    * 为什么? 因为线程的任务都封装在Runnable接口子类对象的run方法中
    * 所以要在线程对象创建时就必须明确要运行的任务
    * 
    * 4.调用线程对象的start()方法
    * @author 罗摩衔那
    *
    */
    class PiKaQiu implements Runnable{//准备扩展PiKaQiu类的功能,让其中的内容可以作为线程的任务执行
    //通过接口的形式完成
    public void run() {
    show();
    }
    
    public void show()
    {
    for(int i=0;i<10;i++) 
    {
    System.out.println(Thread.currentThread().getName()+"...."+i);
    }
    }
    }
    
    public class Thead_Implement {
    public static void main(String[] args) 
    {
    PiKaQiu p=new PiKaQiu();
    /**
    * public Threa(Runnable target)
    * 分配新的Thread对象.
    * 
    * Thread pkq=new PiKaQiu();拥有了run方法    
    */
    Thread pkq=new Thread(p);
    Thread pkq1=new Thread(p);
    pkq.start();
    pkq1.start();
    System.out.println("aa");
    }
    }
  • 相关阅读:
    topcoder srm 681 div1
    topcoder srm 683 div1
    topcoder srm 684 div1
    topcoder srm 715 div1
    topcoder srm 685 div1
    topcoder srm 687 div1
    topcoder srm 688 div1
    topcoder srm 689 div1
    topcoder srm 686 div1
    topcoder srm 690 div1 -3
  • 原文地址:https://www.cnblogs.com/zjm1999/p/9839061.html
Copyright © 2020-2023  润新知