java-threads

    -1熱度

    3回答

    使用線程我有這樣的代碼: public class classExample implements Observer Runnable { public classExample() { //... } @Override public void run() { while (true) { //wait for EV

    -1熱度

    3回答

    我想在我的Java程序中使用兩個線程來處理一小部分。我需要給數據庫第一次調用和第二次調用API,兩次調用具有相同的輸入,然後使用任何先前完成的線程的輸出。 這是我第一次用線程編程,我很困惑。我看過教程,他們主要解釋如何用線程完成兩件獨立的事情,所以我有點迷路。 有人可以幫助或重新指引我到他們可能有的任何有用的鏈接? 到目前爲止,據我瞭解,它應該看起來像這樣嗎? : Thread thread1 =

    0熱度

    1回答

    我正在使用wait做一個關於Java併發的練習,並通知學習考試。 考試將被編寫,所以代碼必須是完美的,因爲我們不能嘗試編譯和檢查錯誤。 這是練習題的文本: 總體思路: 當下載器實例化隊列和HashMap中創建並傳遞給所有的線程。 (共享數據) 下載方法將url添加到隊列並調用notifyAll來喚醒Downloader線程。 getData方法會等待,直到所提供的url的哈希映射中有數據。當數據可

    0熱度

    3回答

    這是我的代碼和輸出是不同的任何時候,我運行的代碼。有時候,所有三個讀者會得到通知,並輸出結果是: 等待計算... 等待計算... 等待計算... 成品 總是:4950Thread-1 總是:4950Thread-2 總計爲:4950Thread-0 有時候只有兩個或一個讀者會收到通知。 有什麼問題? class Reader extends Thread { Calculator c;

    5熱度

    2回答

    想象一下,我有3個等待條件的線程和一個帶有通知條件的第4個線程。 現在,所有3個等待線程都運行並進入等待狀態。一旦完成,第4個線程將運行並調用一次通知。 該通知將如何確定要喚醒哪個線程?是叫等待第一個線程的線程,最後一個叫等待的線程還是基於其他條件? 假設wait和notify使用相同的鎖。

    0熱度

    1回答

    我遇到以下問題。 我在一個永久循環的線程內部有一個Java函數,然後一個JNI API將最終調用另一個類中的靜態函數。 此靜態函數試圖調用requestPermissions以顯示請求權限彈出窗口,並且當用戶接受或拒絕時,此線程將休眠。彈出窗口顯示並且用戶可以對此作出響應,但函數onRequestPermissionsResult永遠不會被調用。 有什麼辦法可以對這個問題進行排序嗎? 我在做什麼錯

    3熱度

    1回答

    我已經複製了一個可疑的線程轉儲。我在調用java.net.SocketInputStream.socketRead0() 時看到IN_NATIVE狀態的173個線程,在同一個調用中有30個線程處於BLOCKED狀態。 我認爲BLOCKED狀態不會消耗CPU,但他們正在等待IO。 IN_NATIVE狀態的線程怎麼樣?他們消耗CPU嗎? 任何想法,爲什麼我看到相同的調用socketRead0()不同的

    0熱度

    1回答

    我們都知道Core Dump是分析Unix中各種進程的基本診斷工具。我知道jstack和gcore都用於生成Javacore文件或Core Dump,但我懷疑Gcore主要用於進程,Jstack用於線程。 從操作系統的角度來看,雖然進程和線程相互關聯(進程只包含線程),但它們在內存/速度/執行方面存在較大差異。那麼gcore會診斷這個過程,jstack會分析這個過程中的線程嗎?

    0熱度

    3回答

    我對android應用程序開發相當新穎。我正在研究一個android應用程序來ping訪問點以訪問其RSSI值來估計用戶的位置。 雖然我目前有這個'工作',但我相信在我的實現中有一個錯誤會創建太多的「onReceive()」調用。在應用程序的整個生命週期中,對這個函數的調用量都是線性的。 我將要發佈的代碼的目標是簡單地掃描WiFi接入點,獲取其RSSI值,然後不斷循環。電池壽命不成問題,性能是一個

    0熱度

    1回答

    在Android應用程序中的UI線程中,我需要運行一個可以花費納秒或永遠完成的方法。我想我不能確切地確定它何時需要永久​​使用,所以我通過一個單獨的線程運行它。 ​​ 爲了演示目的,我阻止了UI一秒,然後,如果方法尚未完成,我繼續前進。 try{ Result result = futureResult.get(1, TimeUnit.SECONDS); //Use resul