/**
* 传统线程
*
* @time 下午06:15:19
* @author retacn yue
* @Email zhenhuayue@sina.com
*/
public class TraditionalThread {
/**
* 多线程并发学习
*
* @param args
*/
public static void main(String[] args) {
// java5中的线程池
// 新一个包含三个线程的线程池
ExecutorService pool = Executors.newFixedThreadPool(3);
// 需要几个线程就new几个
// ExecutorService pool = Executors.newCachedThreadPool();
for (int j = 0; j < 10; j++) {
final int taskId = j;
pool.execute(new Runnable() {
public void run() {
for (int i = 0; i < 5; i++)
try {
Thread.sleep(200);
System.out.println(Thread.currentThread().getName() + "loop of" + i + "task of" + taskId);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
});
}
System.out.println(" thread is end");
pool.shutdown();
// 直接关闭
// pool.shutdownNow();
}
// 传统线程
private void thread1() {
new Thread() {
public void run() {
while (true) {
try {
Thread.sleep(200);
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println(Thread.currentThread().getName());
}
}
}.start();
new Thread(new Runnable() {
@Override
public void run() {
try {
Thread.sleep(200);
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println(Thread.currentThread().getName());
}
}) {
// 如果子类有run方法将不会调用父类的runable方法
// public void run() {
// }
}.start();
}
}
多线程学习笔记二
最新推荐文章于 2024-08-19 16:01:20 发布