🕑 同步代码块
使用同步代码块 synchronized 来保证线程安全性。同步代码块的作用是对共享资源进行加锁,即同一时间只允许一个线程进入临界区执行相关代码,防止多线程并发访问导致数据不一致的问题。
```java
public class MyThread extends Thread{
static int ticket = 0;
@Override
public void run() {
while (true){
//同步代码块
synchronized (MyThread.class){ //锁对象一定要是唯一的
if (ticket<100){
try {
sleep(100);
} catch (InterruptedException e) {
e.printStackTrace();
}
ticket++;
System.out.println(getName()+"正在售卖第"+ticket+"张电影票");
}else {
break;
}
}
}
}
}
```