哆啦的時(shí)光機(jī)
2019-03-28 18:15:55
class Run implements Runnable{@Overridepublic void run() {try {System.out.println(Thread.currentThread().getName() + " begin...");Thread.sleep(1000*20);System.out.println(Thread.currentThread().getName() + " over...");} catch (InterruptedException e) {e.printStackTrace();}}}public class TestThread {public static void main(String[] args) {Run run = new Run();new Thread(run).start();new Thread(run).start();}}請問這段代碼中 Thread.sleep(1000*20); //線程握住的鎖是誰? 是run這個對象?還是誰?
3 回答

叮當(dāng)貓咪
TA貢獻(xiàn)1776條經(jīng)驗(yàn) 獲得超12個贊
這是service中的一個方法:
//第一次調(diào)用該方法quickAppoint()正常,但是 第二次調(diào)用,無法執(zhí)行quickAppoint(),直到第一次調(diào)用方法開的線程 結(jié)束, 才能繼續(xù)第二次的調(diào)用。
@Override
public String quickAppoint(String date, String timeSpan, String roomId, String guestId, Integer tagId) throws Exception {
....邏輯代碼
//開線程
new Thread(new Runnable() {
@Override
public void run() {
.....
try {
.....
Thread.sleep(end-now);
......
} catch (InterruptedException e) {
e.printStackTrace();
}
}
},"mythread").start();
}
添加回答
舉報(bào)
0/150
提交
取消