疯狂java


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

Java线程的创建与执行


 

   Java线程的创建与执行

  1.继承Thread

  public class TestThread extends Thread{

  public void run(){

  System.out.println(Thread.currentThread().getName());

  }

  public static void main(String[] args) {

  Thread t = new TestThread();

  t.start();

  }

  }

  2.实现Runnable

  public class TestRunnable implements Runnable

  {

  @Override

  public void run() {

  System.out.println(Thread.currentThread().getName());

  }

  public static void main(String[] args) {

  Thread t = new Thread(new TestRunnable());

  t.start();

  }

  }

  3.线程池

  public class TestThreadPool {

  public static ExecutorService singlePool = Executors.newSingleThreadExecutor();

  private static ExecutorService fixedPool = Executors.newFixedThreadPool(2);

  private static ExecutorService cachedPool = Executors.newCachedThreadPool();

  private static ThreadPoolExecutor tpe = new ThreadPoolExecutor(5, 10, 5000,

  TimeUnit.SECONDS, new LinkedBlockingQueue(), new DefaultThreadFactory(),new

  ThreadPoolExecutor.AbortPolicy());

  private static class DefaultThreadFactory implements ThreadFactory{

  @Override

  public Thread newThread(Runnable r) {

  Thread t = new Thread(r);

  return t;

  }

  }

  public static void main(String[] args) {

  singlePool.execute(new TestThreadP());

  fixedPool.execute(new TestThreadP());

  cachedPool.execute(new TestThreadP());

  tpe.execute(new TestThreadP());

  }

  }

  class TestThreadP implements Runnable{

  @Override

  public void run() {

  System.out.println(Thread.currentThread().getName());

  }

  }