簡體   English   中英

如何在android中掛起和恢復線程?

[英]How to Suspend and Resume Threads in android?

我剛剛注意到android線程中的暫停和恢復已被棄用。 這個是什么工作或如何在android中暫停和恢復一個線程?

實際上,在隨機點暫停或停止線程是一個不安全的想法,這就是為什么這些方法被棄用的原因。

在我看來,你能做的最好的事情是在你的線程的run方法中有一些固定的暫停點,並使用wait停在那里:

class ThreadTask implements Runnable {

     private volatile boolean paused;
     private final Object signal = new Object();

     public void run() {
         // some code

         while(paused) { // pause point 1
            synchronized(signal) signal.wait();
         }

         // some other code

         while(paused) { // pause point 2
            synchronized(signal) signal.wait();
         }

         // ...
     }

     public void setPaused() {
         paused = true;      
     }

     public void setUnpaused() {
         paused = false;
         synchronized(signal) signal.notify();
     }
}

暫無
暫無

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

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