java - 当线程正在执行某种操作时暂停其他线程?

标签 java multithreading

当一个线程正在执行特定操作时,是否可以暂停所有其他正在运行的线程?为了提出我的问题,假设我有以下方法

public void doActions()
{
  ......
  ......
  ......
  if(count == 30)
  {
    //This is where I want to pause all other running threads

  }
  ......
  ......
  ......
}

问候!

最佳答案

  1. 您可以尝试使用 CountDownLatch,这在您希望在其他进程启动之前访问少量资源的情况下会有所帮助。

  2. 您也可以尝试使用 Semaphore 一次仅授予一个线程的访问权限

    信号量 s = new Semaphore(1);

关于java - 当线程正在执行某种操作时暂停其他线程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10967009/

相关文章:

java - 泛型参数接口(interface)回调

java - 如何通过id从表中删除一条记录

java - 主线程可以在子线程之前死掉吗

java - 在 java servlet 应用程序中执行异步数据库任务

java - 解决获取多个锁时的死锁

c# - WPF - 从另一个线程更新 "System.Windows.Controls.Image"

java - 使用 NetBeans 测试 Java

java - 通过JDBC连接到Hive时出现Java NoSuchMethodError

Javabean Introspector - 我的列表中有什么?

c++ - boost::thread 在终止时会自动从 boost::thread_group 中删除吗?