Runnable的实现类别一:
- 继承Runnbale接口的实现步骤:
1·创建Runnable接口的实现类
2·在实现类中重写run方法
3·在主方法中创建实现类对象
4·创建Thread类的对象,传递接口实现类对象
5·通过Thread类的对象,调用其start()方法开启新线程
// 创建Runnable接口的实现类
class Pay implements Runnable{
int tickets =100;
//重写run方法
@Override
public void run() {
while(true){
if(tickets>0){
try {
Thread.sleep(100);
System.out.println(Thread.currentThread().getName()+"正在买票,还剩"+(tickets)+"张票");
tickets--;
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}
}
public class PayTicket01 {
public static void main(String[] args) {
// 3·在主方法中创建实现类对象
Pay mp = new Pay();
// 4·创建Thread类的对象,传递接口实现类对象,一个对象创建三个线程共同抢夺对象中的run资源
Thread th = new Thread(mp);
Thread th2 = new Thread(mp);
Thread th3 = new Thread(mp);
// 5·通过Thread类的对象,调用其start()方法开启新线程
th.setName("一号窗口");
th.start();
th2.setName("二号窗口");
th2.start();
th3.setName("三号窗口");
th3.start();
}
}
// 在上述代码中出现资源重复抢夺和一系列的不符