疯狂java


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

Java的多线程技术


 

   

  何为进程?

  是一个正在执行中的程序,例如QQ、WPS等。每一个进程执行都有一个执行顺序,该顺序是一个执行路径,或者叫一个控制单元。

  线程又是什么呢?

  就是进程中的一个独立的控制单元。线程控制着进程的执行。一个进程中至少有一个线程。

  如何在自定义代码中自定义一个线程呢?

  在java中要想实现多线程,有两种手段,一种是继续Thread类,另外一种是实现Runable接口。

  创建线程的第一种方法:继承Thread类

  步骤:①定义类继承Thread类;②复写Thread类中的run方法(将自定义代码存储在run方法中,让线程运行);③调用线程的start方法(该方法有两个作用:启动线程,调用run方法)。

  class A extends Thread{

  public void run(){

  // other code…

  }

  }

  public static void main(String[] args) {

  A a = new A();

  a.run();

  }

  创建线程的第二种方式:实现Runnable接口

  步骤:①定义类,实现Runnable接口;②覆盖Runnable接口中的run方法(将线程要运行的代码存放在run方法中);③通过Thread类建立线程对象;④将Runnable接口的子类对象作为实际参数传递给Thread类的构造函数(这样做的原因何在?因为自定义的run方法所属的对象是Runnable接口的子类的对象,要让线程去执行指定对象的run方法,就必须明确该run方法所属的对象。);⑤调用Thread类的start方法开启线程。

  class A implements Runnable{

  public void run(){

  // other code…

  }

  }

  public static void main(String[] args) {

  A a=new A();

  Thread t = new Thread(a);

  t.start();

  }

  实现Runnable接口比继承Thread类所具有的优势:

  1、适合多个相同的程序代码的线程去处理同一个资源

  2、可以避免java中的单继承的限制

  3、增加程序的健壮性,代码可以被多个线程共享,代码和数据独立。