舉的例子不合適,容易誤導(dǎo)別人!繼承thread的子類中定義了票數(shù)變量,每new一下啟動新線程,都會有5張票,把票數(shù)變量定義成全局變量試試
2016-03-13
class MyThread implements Runnable{
Lock lock = new ReentrantLock();
private int number=5;
@Override
public void run() {
lock.lock();
try{
while(number >0){
number--;
System.out.println(Thread.currentThread().getName()+"賣一張剩余票數(shù):"+number);
}
}finally{
lock.unlock();
}
}}要加鎖機(jī)制
Lock lock = new ReentrantLock();
private int number=5;
@Override
public void run() {
lock.lock();
try{
while(number >0){
number--;
System.out.println(Thread.currentThread().getName()+"賣一張剩余票數(shù):"+number);
}
}finally{
lock.unlock();
}
}}要加鎖機(jī)制
2016-02-27
thread代碼里主函數(shù)那對象實例化和Runnable代碼里的主函數(shù)對象實例化的代碼都不一樣,前提條件都不一樣,咋比出thread和Runnable的不同啊。
而且我把ticketsRunnable里面的代碼implements Runnable換成extends Thread,執(zhí)行效果一樣啊,那Thread和Runnable還有啥區(qū)別啊。
而且我把ticketsRunnable里面的代碼implements Runnable換成extends Thread,執(zhí)行效果一樣啊,那Thread和Runnable還有啥區(qū)別啊。
2016-01-26
線程一剛執(zhí)行完tick--,還沒有執(zhí)行打印語句,那就算線程還未結(jié)束,別的線程怎么能搶走執(zhí)行權(quán)呢?
2016-01-23
ticketsCont 前面如果加了static就表示ticketCont是靜態(tài)變量,靜態(tài)變量就不是一個對象私有的屬性了,相當(dāng)于thread類的所有實例都共享這個屬性
2016-01-23