2016/1/25 多线程 作业 方法一 继承Thread 方法二 实现Runnable 多线程笔记

时间:2022-07-01 17:18:03
 /*
* 1,尝试定义一个继承Thread类的类,并覆盖run()方法,
* 在run()方法中每隔100毫秒打印一句话。*/
package Stream;
//方法一 继承Thread 实现多线程
public class TestX extends Thread {
public void run () {
xiancheng();}
public void xiancheng()
{
for (int i = 0; i < 10; i++) {
System.out.println(this+"打印一句话"+i);
try {
Thread.sleep(100);//每100毫秒输出一次
} catch (InterruptedException e) {
// TODO 自动生成的 catch 块
e.printStackTrace();
}
} }
}
 package Stream;
//方法二 实现Runnable 接口
public class TestXX implements Runnable { @Override
public void run() {
duoxiancheng();
}
public void duoxiancheng() {
for (int i = 0; i < 10; i++) {
System.out.println("打印一句话"+i);
try {
Thread.sleep(100);
} catch (InterruptedException e) {
// TODO 自动生成的 catch 块
e.printStackTrace();
}
}
} }
 package Stream;

 public class TestThread {

     public static void main(String[] args)  {
TestX i=new TestX();
   i.start();   TestX ii=new TestX();
  ii.start();   TestXX s=new TestXX();
  Thread hh= new Thread(s);
  hh.start();   TestXX ss=new TestXX();
  Thread hhs= new Thread(ss);
  hhs.start(); } }

2016/1/25   多线程  作业    方法一  继承Thread      方法二  实现Runnable     多线程笔记2016/1/25   多线程  作业    方法一  继承Thread      方法二  实现Runnable     多线程笔记2016/1/25   多线程  作业    方法一  继承Thread      方法二  实现Runnable     多线程笔记

上述显示三图  分别为  图一  两种方式一起输出  太长没有全截取     图二 为通过集成Thread实现多线程   图三为通过应用Runnable接口实现多线程

多线程   笔记
         ①线程 进程里的执行流程
         ②实现方式 1,继承Thread 重写一个run()方法
                            使用start()方法启动多线程 同一时间只能

                            启动一个线程
                        2,实现Runnable接口 重写run()方法
                            调用Thread(Runnable)
                            调用Thread对象的start
        ③生命周期 出生状态
                       就绪状态
                       运行状态
                       等待状态
                       休眠状态
                       阻塞状态
                       死亡状态