实现多线程的方式:
实现多线程的方式有多种,这里只列举两种常用的,而第一种继承Thread的方式无法实现多窗口卖票。
一,继承Thread方式:
特点:多线程多实例,无法实现资源的共享。
例子:
package com.demo.study.multithreading;
public class MyThread extends Thread{
private int i = 10;
// 可以自行定义锁,也可以使用实例的锁
Object mutex = new Object();
public void selltickets(){
synchronized (mutex) {
if(i>0){
i--;
//getName()获取线程的名字
System.out.println(Thread.currentThread().getName()+" :"+ i);
}
}
}
@Override
public void run() {
while(i>0){
selltickets();
}
}
}
启动线程:
package com.demo.study.multithreading;
public class Test {
public static void m