java

导航

使用匿名内部类在方法内部定义并启动线程

来源 :中华考试网 2020-12-03

  下面的代码展示了在一个方法中,通过匿名内部类定义一个Thread,并Override它的run()方法,之后直接启动该线程。

  这样的代码可用于在一个类内部通过另起线程来执行一个支线任务,一般这样的任务并不是该类的主要设计内容。

  package com.zj.concurrency;

  public class StartFromMethod {

  private Thread t;

  private int number;

  private int count = 1;

  public StartFromMethod(int number) {

  this.number = number;

  }

  public void runTask() {

  if (t == null) {

  t = new Thread() {

  public void run() {

  while (true) {

  填写下面表单即可预约申请免费试听java课程!害怕学不会?助教陪读,随时解惑!担心就业?一地学习,可全国推荐就业!

  System.out.println("Thread-" + number + " run " + count

  + " time(s)");

  if (++count == 3)

  return;

  }

  }

  };

  t.start();

  }

  }

  public static void main(String[] args) {

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

  new StartFromMethod(i).runTask();

  }

  }

  结果:

  Thread-0 run 1 time(s)

  Thread-0 run 2 time(s)

  Thread-1 run 1 time(s)

  Thread-1 run 2 time(s)

  Thread-2 run 1 time(s)

  Thread-2 run 2 time(s)

  Thread-3 run 1 time(s)

  Thread-3 run 2 time(s)

  Thread-4 run 1 time(s)

  Thread-4 run 2 time(s)

  如果你现在想学习Java,赢取高薪工作机会,非常简单,填写下面信息,学好Java技术高薪工作机会唾手可得。

分享到

您可能感兴趣的文章