您的位置:首页 > 编程语言 > Java开发

重学JAVA基础(四):线程的创建与执行

2015-04-03 16:32 429 查看
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<Runnable>(), 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());
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: