线程的同步:
多个线程可以共享一个数据,这样有其优点,也有弊端,弊端是可能因为线程的不同步导致数据出现一些逻辑的错误,没有考虑线程安全性,如果要避免这些数据错乱风险的出现可以让线程实现同步。
线程同步是什么呢?线程同步就是在多个线程访问某个对象的方法或者是某代码的时候同一时间只能一个线程访问,其他线程等待上一个线程访问完毕之后再进行访问。
观察代码:
package com.sun.test;
class RunThread implements Runnable {
private int ticket =10;
@Override
public void run() {
for(int i=0;i<10;i++) {
if(this.ticket>0) {
System.out.println(Thread.currentThread().getName()+" 正在出售倒数第 "+ this.ticket +"张票");
try {
Thread.sleep(100);
} catch (InterruptedException e) {
e.printStackTrace();
}
this.ticket--;
}
}
}
}
public class Test {