簡體   English   中英

如何在J2ME中實現線程超時?

[英]How to implement thread timeout in J2ME?

我在J2ME中使用Connector ,發現有時需要很長時間才能發送請求,有時它可能會停止整個過程。
所以我嘗試將與Connector相關的代碼放在一個線程中,並嘗試將超時設置為該線程。 但我發現在J2ME中執行此操作非常困難,因為J2ME中沒有join(timeout)
有沒有辦法做到這一點? 或者在J2ME中處理網絡連接的更好方法是什么?
非常感謝提前。

您應該使用3種機制的組合:

  • Connector.open()可以與第三個參數一起用於超時。
  • 您可以從與調用Connector.open()線程不同的線程調用Thread.sleep()Connection.close()
  • 您可以從與調用Connector.open()線程不同的線程調用Thread.sleep()Thread.interrupt()

在一些實施不當的MIDP運行時,如果連接繁忙, Connection.close()可以阻止。 您需要在計划支持的手機上徹底測試。

Thread.interrupt()可以使MIDP運行時(以及底層手機操作系統)具有孤立資源,因此只能將其用作最后的手段。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM