您现在的位置: 破洛洛 >> 服务器 >> WEB服务器 >> 正文

Java实现在不同线程中运行的代码实例详解

作者:佚名 来源:网络整理 更新时间:2017-5-26
分享到

   本文实例讲述了Java实现在不同线程中运行的代码。分享给大家供大家参考,具体如下:

Java实现在不同线程中运行的代码实例详解 三联

  start()方法开始为一个线程分配CPU时间,这导致对run()方法的调用。

  代码1

  package Threads;

  /**

  * Created by Frank

  */

  public class ThreadsDemo1 extends Thread {

  private String msg;

  private int count;

  public ThreadsDemo1(final String msg, int n) {

  this.msg = msg;

  count = n;

  setName(msg + " runner Thread");

  }

  public void run() {

  while (count-- > 0) {

  System.out.println(msg);

  try {

  Thread.sleep(100);

  } catch (InterruptedException e) {

  return;

  }

  }

  System.out.println(msg + " all done.");

  }

  public static void main(String[] args) {

  new ThreadsDemo1("Hello from X", 10).start();

  new ThreadsDemo1("Hello from Y", 15).start();

  }

  }

  代码2:

  package Threads;

  /**

  * Created by Frank

  */

  public class ThreadsDemo2 implements Runnable {

  private String msg;

  private Thread t;

  private int count;

  public static void main(String[] args) {

  new ThreadsDemo2("Hello from X", 10);

  new ThreadsDemo2("Hello from Y", 15);

  }

  public ThreadsDemo2(String m, int n) {

  this.msg = m;

  count = n;

  t = new Thread(this);

  t.setName(msg + "runner Thread");

  t.start();

  }

  public void run() {

  while (count-- > 0) {

  System.out.println(msg);

  try {

  Thread.sleep(100);

  } catch (InterruptedException e) {

  return;

  }

  }

  System.out.println(msg + " all done.");

  }

  }

  代码3:

  package Threads;

  /**

  * Created by Frank

  */

  public class ThreadsDemo3 {

  private int count;

  public static void main(String[] args) {

  new ThreadsDemo3("Hello from X", 10);

  new ThreadsDemo3("Hello from Y", 15);

  }

  public ThreadsDemo3(final String msg, int n) {

  this.count = n;

  Thread t = new Thread(new Runnable() {

  public void run() {

  while (count-- > 0) {

  System.out.println(msg);

  try {

  Thread.sleep(100);

  } catch (InterruptedException e) {

  return;

  }

  }

  System.out.println(msg + " all done.");

  }

  });

  t.setName(msg + " runner Thread");

  t.start();

  }

  }

  eclipse运行结果如下:

转载请注明:破洛洛(谢谢合作)
网友评论: