暫停當前執行緒方法改進

2022-01-10 03:34:19 字數 605 閱讀 6388

如果我們想要當前執行緒暫停2s,常用的方法是下面這種

try catch(exception e)
這種方式是以毫秒為單位進行計算的,在需要的時間比較長時就需要進行計算,像上面這種乘法,如果比較複雜的話sleep方法內的資料寫的就比較長,閱讀者也不方便閱讀,所以上面的**可以優化成下面這種

try catch(exception e)
因為timeunit類可以指定秒,分,時,日等等,所以可以很方便簡潔的表示我們需要的時間。

同時如果一段**有多個需要 try catch 處理的地方就會造成**的不美觀,此時可以向上面這樣設定成一行。而設定的方式就是利用 idea 的快捷鍵設定。在我們需要對某段**使用 try catch 時往往是選中這段**然後按 alt +shift +z (我的修改了idea 的快捷鍵是這個)呼出 surround with...,也就是下面這個介面

點選下面的configure live templates...,就可以自定義快捷方式了,我這裡是新增了乙個 one try catch,然後新增快捷鍵後的**格式就可以了

如何中斷當前執行緒

中斷當前執行緒有兩種方式。第一種方式是通過呼叫執行緒的stop 方法,第二種方式通過呼叫interrupt 方法。由於第一種方式是不安全的,所以本篇文章不做討論,主要分享一下如何使用interrupt 方法來中斷執行緒。thread類中提供了三個中斷執行緒的方法,如下圖 方法詳情 public cl...

Tokio 當前執行緒任務

參考 block on 方法可以接收乙個非同步任務,在當前執行緒中執行並阻塞直到完成。runtime new 建立的執行時,會有乙個主線程和 cpu 邏輯核數相等工作執行緒。use std use tokio runtime runtime fn main io result thread curr...

Windows Linux下獲取當前執行緒的ID號

序 在多執行緒場合,為了方便跟蹤執行緒的執行狀態,往往需要在程式中新增列印當前執行緒id號的功能。1.linux下列印當前執行緒idpthread t pthread self 2.windows下列印當前執行緒iddword getcurrentthreadid ifdef win32 inclu...