中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

Java cmd怎樣運行多線程

小樊
81
2024-11-24 05:52:44
欄目: 編程語言

在Java中,可以使用java.lang.Thread類或者java.util.concurrent包中的ExecutorServiceFuture等接口來創建和管理多線程。這里我將向您展示如何使用這兩種方法在命令行(cmd)上運行多線程Java程序。

方法1:使用Thread類

  1. 首先,創建一個名為MyThread.java的文件,然后編寫以下代碼:
public class MyThread extends Thread {
    public void run() {
        for (int i = 0; i < 5; i++) {
            System.out.println(Thread.currentThread().getName() + ":" + i);
        }
    }
}
  1. 編譯Java文件:
javac MyThread.java
  1. 在命令行中,使用-cp選項指定類路徑,然后運行編譯后的MyThread類:
java -cp . MyThread MyThread1 MyThread2 MyThread3

這將創建并啟動四個線程,每個線程打印出它的名稱和一個循環計數器。

方法2:使用ExecutorService和Future

  1. 創建一個名為MyThreadPool.java的文件,然后編寫以下代碼:
import java.util.concurrent.*;

public class MyThreadPool {
    public static void main(String[] args) {
        int numberOfThreads = 4;
        ExecutorService executorService = Executors.newFixedThreadPool(numberOfThreads);

        for (int i = 0; i < numberOfThreads; i++) {
            executorService.submit(new MyRunnable(i));
        }

        executorService.shutdown();
    }
}

class MyRunnable implements Runnable {
    private int taskNumber;

    public MyRunnable(int taskNumber) {
        this.taskNumber = taskNumber;
    }

    @Override
    public void run() {
        for (int i = 0; i < 5; i++) {
            System.out.println("Task " + taskNumber + ":" + i);
        }
    }
}
  1. 編譯Java文件:
javac MyThreadPool.java
  1. 在命令行中,使用-cp選項指定類路徑,然后運行編譯后的MyThreadPool類:
java -cp . MyThreadPool

這將創建一個固定大小的線程池,提交四個任務到線程池,每個任務打印出它的任務編號和一個循環計數器。完成后,線程池將關閉。

0
天峨县| 建平县| 澜沧| 和田市| 奉节县| 新建县| 镇宁| 饶河县| 新津县| 克拉玛依市| 襄垣县| 长治县| 顺昌县| 齐河县| 襄樊市| 开封市| 沂水县| 漳州市| 南京市| 曲周县| 双辽市| 长泰县| 丹东市| 张家川| 海伦市| 龙井市| 老河口市| 邯郸县| 勐海县| 宁波市| 界首市| 和龙市| 海晏县| 华容县| 安多县| 定襄县| 加查县| 铜陵市| 桃源县| 巴南区| 板桥市|