使 java 多线程等待输入给定

make java multithread wait until input given

我正在尝试使用 java 编写一个简单的代码来模拟 DB2 数据库上的并发连接。我当前的代码看起来有点像这样:

class TheThread implements Runnable{
@override
public void run(){
    //make the database connection
    //need to pause here until any button pressed
    //execute query to the database
}
}

该程序将同时创建数百到数千个线程,因此我想确保在执行查询之前所有线程都已连接,以便它真正被同时处理。

我该怎么做?

您可以使用 java.util.concurrent 包中的 CyclicBarrier

static CyclicBarrier b = new CyclicBarrier(nConnections);

public void run() {
    // make the database connection
    b.await();  //threads will stop here untill nConnections are opened
    ...