java - 创建 n 个线程

标签 java multithreading

<分区>

我有一个 java 方法,我想在其中创建 n 个线程,然后让每个线程打印出从 1 到 100 的数字。

public void createThreads(int n){
    for (int i = 0; i < n; i++) {
        new Thread(() -> {
            for (int j = 0; j < 100; j++) {
                System.out.println(j);


            }
        });       
    }
}

每当我运行此方法时,即使我传递了一个参数,也不会打印出任何内容。我该如何解决这个问题?

最佳答案

没有打印任何内容,因为您没有启动线程。

public void createThreads(int n){
    for (int i = 0; i < n; i++) {
        new Thread(() -> {
            for (int j = 1; j <= 100; j++) {
                System.out.println(j);
            }
        }).start(); // <-- .start() makes the thread start running   
    }
}

另请注意,我已将您的 for 循环更改为 for (int j = 1; j <= 100; j++) , 因为目的是打印来自 1 的数字至 100 (不是从 099 )。

关于java - 创建 n 个线程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51934721/

相关文章:

java - 使用 Google map 检测我的应用中的其他设备

java - Micronaut 依赖注入(inject)不适用于 picocli 功能

multithreading - Node.js,进程和线程问题

c++ - std::mutex 是否支持拥有它的线程?

c - 如何让 pthread 在后台工作而不阻塞 shell?

c++ - 而对于所有线程都是如此

java - 将 Jogl 文档添加到用户库

java - 为什么 equals() 中的顺序相反

java - 在客户端手机上签署 APK

multithreading - 使用函数 + 偏移量获取模块名称