java - Java中多线程的实现

标签 java multithreading

我对 Java 还很陌生,我的项目需要在用户每次按下按钮时创建一个新线程。我使用过 MVC 和 Swing,但我正在尝试找到一种方法来创建用户需要的任意数量的线程。我查看了一些信息并尝试使用 arrayList 来收集所有线程。但是我遇到了一些问题:

private ThreadLibrary thread_lib = new ThreadLibrary(); 

    public TestArray(int val) {
        for (int i=0; i < val; i++) {           
            thread_lib.addThread(    new Thread(new runThread()).start()   );       
        }
    }

由于 new 运算符不返回任何内容,因此不会向 arrayList 添加任何内容。有什么想法或更好的数据结构可以使用吗? 谢谢

最佳答案

new 肯定会返回您正在构造的任何内容。它是返回 voidstart 方法。尝试将线程对象存储在变量中并单独启动它。

public TestArray(int val) {
    for (int i = 0; i < val; i++) {       
        Thread thread = new Thread(new runThread());
        thread.start();
        thread_lib.addThread(thread);       
    }
}

关于java - Java中多线程的实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5838819/

相关文章:

java - 如何对自定义整数列表进行排序? Collections.sort()?

java - this.packagename 在 Android Studio 中不起作用?

Java:多维数组

Java 同步问题 - 主线程被协程实现锁定

c - Windows 互斥体 WAIT_OBJECT_0 和 WAIT_ABANDONED

c - Freertos + STM32 - malloc 线程内存溢出

java - Java 中的智能指针和引用计数

java - 向 ArrayList 项目添加 1

c# - 如何检测主线程何时终止?

当提供从网络接收到的字符串时,Curses printw() 将仅打印换行符