註冊 | 登入 | 全文檢索 | 排行榜 |
![]() |
» JWorld@TW
» Java 新手區
![]() ![]() |
![]() ![]() ![]() ![]() |
本主題所含的標籤 |
作者 | Re:在thread中執行timertask遭遇的問題 [Re:causemx] |
mylee
![]() ![]() ![]() ![]() ![]() ![]() 發文: 764 積分: 1 ![]() |
![]() ![]() ![]() ![]() ![]() ![]() ![]() 睡 5秒是你的 main thread,timer task 當然不應該睡5秒。timer task 只執行 run() 裏叫它做的事。 ![]() ![]() |
作者 | Re:在thread中執行timertask遭遇的問題 [Re:mylee] | ||
Kaworucloud
![]() ![]() ![]() ![]() ![]() ![]() 發文: 451 積分: 0 ![]() |
![]() ![]() ![]() ![]() ![]() ![]() ![]() mylee wrote: 不是喔 main thread 在啟動完一個 thread-A 後就結束了 睡五秒的是 thread-A,睡完後一樣結束 只留下 thread-A 在睡前建的 timer-thread 繼續在那邊跑 然後 timer-thread 不是 daemon thread,又沒人去結束 timer-thread,所以會一直跑下去 讓 timer-thread 成為 daemon thread 就能在 thread-A 也結束後便終止整個程式了
![]() ![]() 巨乳は夢が詰まってるから大きい、貧乳はみんなに夢を与えているから小さいんだ! |
作者 | Re:在thread中執行timertask遭遇的問題 [Re:Kaworucloud] |
mylee
![]() ![]() ![]() ![]() ![]() ![]() 發文: 764 積分: 1 ![]() |
![]() ![]() ![]() ![]() ![]() ![]() ![]() 看太快,眼花了。 ![]() ![]() ![]() |
作者 | Re:在thread中執行timertask遭遇的問題 [Re:Kaworucloud] |
causemx
![]() 什麼時候可以獨當一面...? ![]() ![]() ![]() ![]() ![]() 發文: 128 積分: 0 ![]() |
![]() ![]() ![]() ![]() ![]() ![]() ![]() 謝謝,我試試看! ![]() ![]() 無招勝有招 |
作者 | Re:在thread中執行timertask遭遇的問題 [Re:Kaworucloud] | ||
causemx
![]() 什麼時候可以獨當一面...? ![]() ![]() ![]() ![]() ![]() 發文: 128 積分: 0 ![]() |
![]() ![]() ![]() ![]() ![]() ![]() ![]() 設為true之後真的有效, 後來我又突發奇想,改寫了一下程式, 我希望輸出的結果是每隔五秒輸出一次結果, 於是我把程式改成:
結果輸出變成了..
本來是一秒輸出一次的,現在第二循環就變成一秒輸出兩次,依此類推... 這實在不是我想要的結果,不知道要如何讓每個循環都是一秒輸出一次。 ![]() ![]() 無招勝有招 |
作者 | Re:在thread中執行timertask遭遇的問題 [Re:causemx] | ||
Kaworucloud
![]() ![]() ![]() ![]() ![]() ![]() 發文: 451 積分: 0 ![]() |
![]() ![]() ![]() ![]() ![]() ![]() ![]()
![]() ![]() 巨乳は夢が詰まってるから大きい、貧乳はみんなに夢を与えているから小さいんだ! |
作者 | Re:在thread中執行timertask遭遇的問題 [Re:Kaworucloud] | ||
causemx
![]() 什麼時候可以獨當一面...? ![]() ![]() ![]() ![]() ![]() 發文: 128 積分: 0 ![]() |
![]() ![]() ![]() ![]() ![]() ![]() ![]() 如果一秒輸出一次真的這樣做就行了, 不過如果我想做的是每個5秒都輸出50個結果, 我改成下面這樣:
出來的結果就像我剛才說的,第一個5秒50個,第二個5秒輸出了100個,依此類推下去.., 單純只用一個thread似乎無法達到這個結果。 ![]() ![]() 無招勝有招 |
作者 | Re:在thread中執行timertask遭遇的問題 [Re:causemx] | ||||
Duncan
![]() 還隱隱作痛 版主 ![]() 發文: 7816 積分: 39 ![]() |
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() causemx wrote: 只需要使用 scheduleAtFixedRate 一次就可以達成重複排程。
每 0.1 秒輸出一次不就是每 5 秒內輸出 50 次? ![]() ![]() 給我 辣味豆腐 其餘免談 |
作者 | Re:在thread中執行timertask遭遇的問題 [Re:Duncan] |
causemx
![]() 什麼時候可以獨當一面...? ![]() ![]() ![]() ![]() ![]() 發文: 128 積分: 0 ![]() |
![]() ![]() ![]() ![]() ![]() ![]() ![]() 我對問題的描述好像不太清楚= =", 我做了個示意圖如下: ![]() 我希望能藉由一個thread跟一個timertask來達成,每5秒得到一個結果,而每個結果包涵5*10個hello,而不能只靠一個排程的timertask來達成,雖然有點多此一舉...不過有特殊目的,但不曉得做不做的到 ![]() ![]() 無招勝有招 |
作者 | Re:在thread中執行timertask遭遇的問題 [Re:causemx] |
causemx
![]() 什麼時候可以獨當一面...? ![]() ![]() ![]() ![]() ![]() 發文: 128 積分: 0 ![]() |
![]() ![]() ![]() ![]() ![]() ![]() ![]() 問題解決了, 只要在每次進入新的循環的時候把之前排程的timertask給cancel掉就可以了 ![]() ![]() 無招勝有招 |
» JWorld@TW » Java 新手區 |
![]() ![]() ![]() ![]() |
![]() ![]() ![]() |