添加注释,并解释 Thread.sleep(300);有什么作用。 public class TicketThread implements Runnable{ private int ticket=100; Object o=new Object(); @Override public void run() { synchronized (this){ while (true){ // 1 if (ticket>0){ try { Thread.sleep(300); } catch (InterruptedException e) { e.printStackTrace(); } String name = Thread.currentThread().getName(); System.out.println(name+"正在卖第"+ticket--+"张票。。。。。。"); } } } } }
时间: 2024-02-10 20:10:34 浏览: 125
the-application-of-the-Thread-class.rar_The Class
注释如下:
```java
public class TicketThread implements Runnable{
private int ticket=100;
Object o=new Object();
@Override
public void run() {
synchronized (this){
while (true){
// 1. 判断是否还有票
if (ticket>0){
// 2. 线程睡眠300毫秒
try {
Thread.sleep(300);
} catch (InterruptedException e) {
e.printStackTrace();
}
// 3. 卖票,并打印当前售出的票数
String name = Thread.currentThread().getName();
System.out.println(name+"正在卖第"+ticket--+"张票。。。。。。");
}
}
}
}
}
```
Thread.sleep(300) 的作用是让当前线程睡眠300毫秒,即暂停执行,然后再继续执行。在上述代码中,每售出一张票后,线程会暂停300毫秒,以模拟售票员卖票的过程,同时也可以避免线程执行过快导致数据不一致的问题。
阅读全文