疯狂java


您现在的位置: 疯狂软件 >> 新闻资讯 >> 正文

Java多线程学习笔记


 

   

  1、继承Thread类实现多线程

  继承Thread类的方法尽管被我列为一种多线程实现方式,但Thread本质上也是实现了Runnable接口的一个实例,它代表一个线程的实例,并且,启动线程的唯一方法就是通过Thread类的start()实例方法。start()方法是一个native方法,它将启动一个新线程,并执行run()方法。这种方式实现多线程很简单,通过自己的类直接extend Thread,并复写run()方法,就可以启动新线程并执行自己定义的run()方法。例如:

  复制代码

  public class MyThread extends Thread {

  private String name;

  Trans(String name) {

  this.name = name;

  }

  @Override

  public void run() {

  for(int i=0;i<10;i++)

  {

  System.out.println(name+" "+i);

  }

  }

  }

  复制代码

  在mian方法里启动

  MyThread myThread1 = new MyThread("张三");

  MyThread myThread2 = new MyThread("李四");

  Thread dd=new Thread(myThread1);

  Thread ds=new Thread(myThread2);

  dd.start();

  ds.start();

  还有一个方法睡眠!

  这是一个类

  复制代码

  1 public class Trans extends Thread {

  2 private String name;

  3

  4 Trans(String name) {

  5 this.name = name;

  6 }

  7 @Override

  8 public void run() {

  9 for (int i = 0; i < 100; i++) {

  10

  11

  12 try {

  13 if ((i)%10==0) {

  14 System.out.println("-----------------"+i);

  15 }

  16 Thread.sleep(500);

  17 } catch (InterruptedException e) {

  18 e.printStackTrace();

  19 }

  20 System.out.println(name+" "+i+"秒");

  21 }

  22

  23 }

  24

  25 }

  复制代码

  接下来是main方法调用

  1 public static void main(String[] args) {

  2 Trans dsTrans=new Trans("程序暂停0.5秒");

  3 Thread ds=new Thread(dsTrans);

  4 ds.start();

  5 }