实现多线程的两种方式
1 继承Thread类
public class ThreadTest {
public static void main(String[] args){
new MyThread().start();
new MyThread().start();
}
public static class MyThread extends Thread{
private int tickets=100;
public void run() {
while(tickets>0){
System.out.println(this.getName()+“卖出第”+tickets–+“张火车票”);
}
}
}
}
2 实现Runable接口
public class RunnableTest {
public static void main(String[] args) {
Runnable runnable=new MyThread();
new Thread(runnable).start();
new Thread(runnable).start();
}
public static class MyThread implements Runnable{
private int tickets=100;
public void run() {
while(tickets>0){
System.out.println(Thread.currentThread().getName()+"卖出第"+tickets--+"张火车票");
}
}
}
线程池
Executors.newFixedThreadPool(int n):创建一个可重用固定个数的线程池,以共享的无界队列方式来运行这些线程。