A、Thread类
public class ThreadTest extends Thread {
public void run() {
for (int i = 0; i < 100; ++i) {
System.out.println(i);
}
}
public static void main(String[] s) {
new ThreadTest().start();
}
}
B、Runnable接口
public class ThreadTest implements Runnable {
public void run() {
for (int i = 0; i < 100; ++i) {
System.out.println(i);
}
}
public static void main(String[] s) {
new Thread(new ThreadTest()).start();
}
}
C、ExecutorService 线程池
newSingleThreadExecutor 单线程
newFixedThreadPool 固定线程池
newCachedThreadPool 可缓存线程池
newScheduledThreadPool 无限线程池
executor.awaitTermination(Long.MAX_VALUE, TimeUnit.DAYS); 主线程等待所有任务完成
public class ThreadTest implements Runnable {
public void run() {
for (int i = 0; i < 100; ++i) {
System.out.println(i);
}
}
public static void main(String[] s) {
ExecutorService executor = Executors.newFixedThreadPool(10);
executor.submit(new ThreadTest());
executor.shutdown();
}
}