3 回答

TA貢獻(xiàn)16條經(jīng)驗(yàn) 獲得超17個(gè)贊
老哥,看起來也沒毛病,運(yùn)行起來也沒毛病,不管是一個(gè)線程還是多個(gè)線程。我和你的區(qū)別就是我的鎖是自己定義了一個(gè)Object o= new Object();你那個(gè)鎖我不知道是什么

TA貢獻(xiàn)3條經(jīng)驗(yàn) 獲得超2個(gè)贊
一致循環(huán)是因?yàn)橥饷媸莣hile(true),而出現(xiàn)負(fù)數(shù)肯定是鎖對(duì)象不一致,試一下ThreadTest01 .class這個(gè)鎖對(duì)象

TA貢獻(xiàn)39條經(jīng)驗(yàn) 獲得超24個(gè)贊
class ThreadTest01 implements Runnable {
int num = 100;
// 2、覆蓋接口中的run方法。。
@Override
public void run() {
while (true) {
/*
* 格式: synchronized(鎖對(duì)象){ //需要同步的代碼 }
*/
synchronized (Demo1.class) {
if (num》0) {
}
try {
Thread.sleep(1);
System.out.println(
Thread.currentThread().getName() + "出售了" + (1000 - num + 1) + "張票,還剩余:" + (--num) + "張");
/*
* this.notify(); this.wait();
*/
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}
}
請(qǐng)把我這段代碼運(yùn)行一下試試 為甚有負(fù)數(shù) 不對(duì)了? 知道回答下 謝謝!
添加回答
舉報(bào)