疯狂java


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

Java多线程学习


 

       一、进程与线程

  线程是指进程内的一个执行单元(可理解为程序内的一条执行路径),也是进程内的可调度实体。

  线程与进程的区别:

  1.线程是进程的一个执行单元,一个进程可以拥有多个线程,线程之间共享进程的地址空间。而进程有自己的独立的地址空间。

  2.进程是资源分配的基本单元,进程内的线程共享进程的资源。

  3.线程是处理器调度的基本单元,而进程不是。

  4.二者均可以并发执行。

  二、JAVA实现线程的方式

  1.实现Runnable接口,重写run()方法

  2.继承Thread类,重写run()方法

  注:启动线程一定使用Thread类的start()方法,而不是方法调用run()。

  package cn.edu.sdust.Thread1;

  public class ThreadTest1 {

  /**

  * @param args

  */

  public static void main(String[] args) {

  // TODO Auto-generated method stub

  Runner runner = new Runner();

  Thread t = new Thread(runner);

  t.start();//启动线程方法,而不是方法调用

  Runner1 runner1 = new Runner1();

  runner1.start();

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

  System.out.println("Main Thread:"+i);

  }

  }

  }

  class Runner implements Runnable{ //实现线程的方法之一:实现Runnable接口,重写run方法

  @Override

  public void run() {

  // TODO Auto-generated method stub

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

  System.out.println("Runner:"+i);

  }

  }

  }

  class Runner1 extends Thread{ //实现线程的方法二:继承Thread类

  public void run() {

  // TODO Auto-generated method stub

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

  System.out.println("Runner1:"+i);

  }

  }

  }