package com.thread;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
/**
* 利用java1.5以后的线程池技术
* @author djk
*
*/
public class ThreadTest
{
public static void main(String[] args)
{
// 2个线程
ExecutorService executorService = Executors.newFixedThreadPool(2);
executorService.submit(new Runnable() {
@Override
public void run() {
doSomeThing(1,"thread1");
}
});
executorService.submit(new Runnable() {
@Override
public void run() {
doSomeThing(2,"thread2");
}
});
executorService.submit(new Runnable() {
@Override
public void run() {
doSomeThing(3,"thread3");
}
});
executorService.shutdown();
}
/**
* 线程执行的方法
* @param i
* @param name
*/
public static void doSomeThing(int i,String name)
{
System.out.println("method begin and id="+i+"threadName ="+name);
try {
Thread.sleep(2000);
} catch (Exception e) {
}
System.out.println("method end and id="+i+"threadName ="+name);
}
}
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
/**
* 利用java1.5以后的线程池技术
* @author djk
*
*/
public class ThreadTest
{
public static void main(String[] args)
{
// 2个线程
ExecutorService executorService = Executors.newFixedThreadPool(2);
executorService.submit(new Runnable() {
@Override
public void run() {
doSomeThing(1,"thread1");
}
});
executorService.submit(new Runnable() {
@Override
public void run() {
doSomeThing(2,"thread2");
}
});
executorService.submit(new Runnable() {
@Override
public void run() {
doSomeThing(3,"thread3");
}
});
executorService.shutdown();
}
/**
* 线程执行的方法
* @param i
* @param name
*/
public static void doSomeThing(int i,String name)
{
System.out.println("method begin and id="+i+"threadName ="+name);
try {
Thread.sleep(2000);
} catch (Exception e) {
}
System.out.println("method end and id="+i+"threadName ="+name);
}
}