多线程

方法一:

/**
* 如何创建多线程
* 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");
}
}

 

posted @ 2018-10-23 20:18  静心*尽力  阅读(86)  评论(0编辑  收藏  举报