日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

java 添加等待时间_Java中线程等待特定时间的最有效方法 - java

發(fā)布時間:2024/9/27 java 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java 添加等待时间_Java中线程等待特定时间的最有效方法 - java 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

我知道這個問題here,但是我有一個稍微不同的問題。如果我希望自己通過各種Thread方法(而不是通過實用程序類或Quartz)手動編碼某個線程在特定時間的運行,那么最有效(就開銷而言)進行編碼。

我考慮過:

boolean wasInterrupted = false;

while (System.currentTimeMillis() < executionTimeInMillis) {

try {

Thread.sleep(X);

} catch (InterruptedException ie) {

wasInterrupted = true;

}

}

if (!wasInterrupted) {

doMyThing();

}

有沒有更好的辦法?這是原始和天真嗎?

參考方案

您有3種基本可能性:

Thread.sleep(...):取決于系統(tǒng)計時器和調度程序的精度和準確性,使當前正在執(zhí)行的線程進入休眠狀態(tài)(停止執(zhí)行)達指定的毫秒數(shù)和指定的納秒數(shù)。該線程不會失去任何監(jiān)視器的所有權;

Thread.yield():導致當前正在執(zhí)行的線程對象暫時暫停并允許其他線程執(zhí)行;

監(jiān)視:您在要鎖定的對象上調用wait,然后通過在同一對象上調用notify來釋放鎖定。有關更多信息,請參見javadoc:http://download.oracle.com/docs/cd/E17409_01/javase/6/docs/api/java/lang/Object.html#wait()

最好的方法是使用監(jiān)視器,因為您知道何時獲得鎖定以及何時釋放鎖定。而且,它允許讓其他線程執(zhí)行。如果您想了解為什么必須避免使用睡眠和屈服方法,請閱讀http://www.javamex.com/tutorials/threads/yield.shtml。

Java:正則表達式模式匹配器是否有大小限制? - java

我的模式類似于OR:“word1 | word2 | word3”我大約有800個字。可能有問題嗎? 參考方案 您僅受記憶和理智的限制。 :)Java:線程池如何將線程映射到可運行對象 - java

試圖繞過Java并發(fā)問題,并且很難理解線程池,線程以及它們正在執(zhí)行的可運行“任務”之間的關系。如果我創(chuàng)建一個有10個線程的線程池,那么我是否必須將相同的任務傳遞給池中的每個線程,或者池化的線程實際上只是與任務無關的“工人無人機”可用于執(zhí)行任何任務?無論哪種方式,Executor / ExecutorService如何將正確的任務分配給正確的線程? 參考方案 …JAVA:字節(jié)碼和二進制有什么區(qū)別? - java

java字節(jié)代碼(已編譯的語言,也稱為目標代碼)與機器代碼(當前計算機的本機代碼)之間有什么區(qū)別?我讀過一些書,他們將字節(jié)碼稱為二進制指令,但我不知道為什么。 參考方案 字節(jié)碼是獨立于平臺的,在Windows中運行的編譯器編譯的字節(jié)碼仍將在linux / unix / mac中運行。機器代碼是特定于平臺的,如果在Windows x86中編譯,則它將僅在Win…java:繼承 - java

有哪些替代繼承的方法? java大神給出的解決方案 有效的Java:偏重于繼承而不是繼承。 (這實際上也來自“四人幫”)。他提出的理由是,如果擴展類未明確設計為繼承,則繼承會引起很多不正常的副作用。例如,對super.someMethod()的任何調用都可以引導您通過未知代碼的意外路徑。取而代之的是,持有對本來應該擴展的類的引用,然后委托給它。這是與Eric…Java:BigInteger,如何通過OutputStream編寫它 - java

我想將BigInteger寫入文件。做這個的最好方式是什么。當然,我想從輸入流中讀取(使用程序,而不是人工)。我必須使用ObjectOutputStream還是有更好的方法?目的是使用盡可能少的字節(jié)。謝謝馬丁 參考方案 Java序列化(ObjectOutputStream / ObjectInputStream)是將對象序列化為八位字節(jié)序列的一種通用方法。但…

總結

以上是生活随笔為你收集整理的java 添加等待时间_Java中线程等待特定时间的最有效方法 - java的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。