91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

android countdownlatch的計數器能重置嗎

小樊
81
2024-11-22 17:21:53
欄目: 編程語言

是的,Android中的CountDownLatch的計數器可以重置。你可以通過調用CountDownLatch的reset()方法來實現這一目的。這將把計數器的值設置為0,允許新的線程等待直到計數器達到0。請注意,reset()方法必須在沒有線程正在等待計數器減至0時調用,否則會拋出 IllegalStateException。

以下是一個簡單的示例:

import java.util.concurrent.CountDownLatch;

public class MainActivity extends AppCompatActivity {

    private CountDownLatch countDownLatch;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        countDownLatch = new CountDownLatch(3);

        // 啟動三個線程,它們將在未來的某個時間點完成
        new Thread(new Task(countDownLatch)).start();
        new Thread(new Task(countDownLatch)).start();
        new Thread(new Task(countDownLatch)).start();
    }

    private class Task implements Runnable {

        private CountDownLatch countDownLatch;

        public Task(CountDownLatch countDownLatch) {
            this.countDownLatch = countDownLatch;
        }

        @Override
        public void run() {
            try {
                // 模擬耗時操作
                Thread.sleep(1000);
                System.out.println("Task completed.");
            } catch (InterruptedException e) {
                e.printStackTrace();
            } finally {
                // 任務完成后,計數器減1
                countDownLatch.countDown();
            }
        }
    }

    // 重置計數器的方法
    public void resetCountDownLatch() {
        countDownLatch.reset();
    }
}

在這個示例中,我們創建了一個CountDownLatch實例,并啟動了三個線程。當所有線程完成任務后,計數器將變為0。如果你想在某個時間點重置計數器并允許新的線程等待,你可以調用resetCountDownLatch()方法。

0
东乌珠穆沁旗| 乌鲁木齐市| 奉新县| 米林县| 新营市| 米脂县| 工布江达县| 南宫市| 临朐县| 明光市| 沁水县| 赫章县| 周口市| 秦皇岛市| 兴安县| 安平县| 乐至县| 襄樊市| 嘉峪关市| 铁岭县| 合山市| 荔波县| 临猗县| 化德县| 福鼎市| 岳西县| 平和县| 莱芜市| 射阳县| 逊克县| 永年县| 甘德县| 重庆市| 江永县| 嘉荫县| 合阳县| 团风县| 葵青区| 盈江县| 安远县| 兴海县|