gpt4 book ai didi

java - 根据输入的数量在 while 循环中创建多个 java 线程

转载 作者:可可西里 更新时间:2023-11-01 07:23:12 25 4
gpt4 key购买 nike

我正在尝试编写一个 java 程序,它从数据库中读取信息并为表的每一行创建一个新线程。所以我不知道我需要多少线程。到目前为止我有这个:

        con = DriverManager.getConnection(url, user, passwd);
pst = con.prepareStatement("select hostname, ipadress, vncpassword from infoscreens");
rs = pst.executeQuery();
int i=0;
while (rs.next()) {
i++;
Thread tread[i] = new Savescreenshots(rs.getString(1),rs.getString(3),rs.getString(2));
tread[i].start();
}

但问题是这不起作用。我需要为表中的每一行创建一个新线程的可能性。任何人都知道如何做到这一点

谢谢和问候

最佳答案

您需要一个动态增长的容器来容纳一组未知大小 - List ,例如:

List<Thread> threads = new ArrayList<Thread>();
while (rs.next()) {
Thread tread = new Savescreenshots(rs.getString(1),rs.getString(3),rs.getString(2));
tread.start();
threads.add(thread);
}

此时,您的程序创建和启动的所有 Thread 对象都是 threads 列表的元素。您可以枚举它们并执行您计划对它们执行的任何其他操作(例如等待它们完成):

for (Thread thread : threads) {
thread.join();
}

关于java - 根据输入的数量在 while 循环中创建多个 java 线程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12816750/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com