今天我们来谈谈java中多线程,线程:系统中最小的执行单元。
java对线程的支持分别是Thread类和Runnable接口,并且它们都继承java.lang包
Runnable接口可以避免Thread类的方法的缺陷,Runnable的代码可以被多个线程共享,
可以处理共享同一资源。
Thread类的用法:
package thread;
class MyThread extends Thread{
private int ticketsCont=5;
private String name;
public MyThread(String name){
this.name=name;
}
public void run(){
while(ticketsCont>0){
ticketsCont--;
System.out.println(name+"买了一张票,剩余票数:"+ticketsCont);
}
}
}
public class TicketsThread {
public static void main(String[] args){
MyThread mt1=new MyThread("窗口1");
MyThread mt2=new MyThread("窗口2");
MyThread mt3=new MyThread("窗口3");
mt1.start();
mt2.start();
mt3.start();
}
}
Runnable接口的用法:
package runnable;
class MyRunnable implements Runnable{
private int ticketsCont=5;
public void run() {
while(ticketsCont>0){
ticketsCont--;
System.out.println(Thread.currentThread().getName()+"买了一张票,剩余票数:"+ticketsCont);
}
}
}
public class TicketsRunnable {
public static void main(String[] args){
MyRunnable mr=new MyRunnable();
Thread th1=new Thread(mr,"窗口1");
Thread th2=new Thread(mr,"窗口2");
Thread th3=new Thread(mr,"窗口3");
th1.start();
th2.start();
th3.start();
}
}