如何保證執行緒的執行順序(面試題)

2021-09-29 14:56:51 字數 632 閱讀 3100

public class threadtest 

});static thread t2 = new thread(new runnable()

});static thread t3 = new thread(new runnable()

});}

1)設定執行緒的執行優先順序(此方案不行

public static void main(string args) throws interruptedexception
2)join方法 (主線程阻塞,啟用,阻塞,啟用去依次執行t1,t2,t3)可以(比較基礎,join方法是同步方法)

public static void main(string args) throws interruptedexception
3)單例執行緒池 (阻塞佇列,先進先出,只有乙個核心主線程在執行)可以,推薦

public static void main(string args) throws interruptedexception

面試題 如何保證訊息的順序性

如何保證訊息的順序性?其實這個也是用mq的時候必問的,一來是看你知不知道會出現順序性的問題,二來是看你有沒有辦法保證訊息消費是順序性的,這也是生產系統中常見的問題。假如將mysql中binlog的資料使用mq同步到其他系統中,這是原本是三條按順序的增加,修改,刪除操作,因為mq的問題,造成來順序混亂...

如何保證執行緒按順序執行

有三個執行緒t1 t2 t3,如何保證他們按順序執行 在t2的run中,呼叫t1.join,讓t1執行完成後再讓t2執行 在t2的run中,呼叫t2.join,讓t2執行完成後再讓t3執行 public class threadbyorder static thread t2 new thread ...

async await執行順序面試題

async function async1 async function async2 console.log script start settimeout function 0 async1 new promise function resolve then function console.l...