package com.tianmushanlu.thread;
/**
* 创建步骤:
* 1. 自定义一个类实现Runnable接口。
* 2. 实现Runnable接口 的run方法,把自定义线程的任务定义在run方法上。
* 3. 创建Runnable实现类对象。
* 4. 创建Thread类 的对象,并且把Runnable实现类的对象作为实参传递。
* 5. 调用Thread对象 的start方法开启一个线程。
*
* 注意:
* Runnable实现类的对象并 不是一个线程对象,只不过是实现了Runnable接口的对象而已。
* 只有是Thread或者是Thread的子类才是线程对象。
*
*
*
*/
class TicketWindows implements Runnable{
Integer num = 50;
@Override
public void run() {
while(true) {
synchronized ("锁对象") {
if(num > 0) {
System.out.println(Thread.currentThread().getName()+"售出了第"+num+"票");
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
num--;
}else{
System.out.println("票以售罄...........");
break;
}
}
}
}
}
public class ThreadDemo2 {
public static void main(String[] args) {
//创建了一个Runnable实现类的对象
TicketWindows TicketWindows = new TicketWindows();
Thread thread1 = new Thread(TicketWindows,"窗口1");
Thread thread2 = new Thread(TicketWindows,"窗口2");
Thread thread3 = new Thread(TicketWindows,"窗口3");
//开启3个线程售票
thread1.start();
thread2.start();
thread3.start();
}
}
java线程implements Runnable实现
最新推荐文章于 2024-05-16 00:52:17 发布