在Java中,可以使用java.lang.Thread类或者java.util.concurrent包中的ExecutorService和Future等接口来创建和管理多线程。这里我将向您展示如何使用这两种方法在命令行(cmd)上运行多线程Java程序。
方法1:使用Thread类
MyThread.java的文件,然后编写以下代码:public class MyThread extends Thread { public void run() { for (int i = 0; i < 5; i++) { System.out.println(Thread.currentThread().getName() + ":" + i); } } } javac MyThread.java -cp选项指定类路径,然后运行编译后的MyThread类:java -cp . MyThread MyThread1 MyThread2 MyThread3 这将创建并启动四个线程,每个线程打印出它的名称和一个循环计数器。
方法2:使用ExecutorService和Future
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); } } } javac MyThreadPool.java -cp选项指定类路径,然后运行编译后的MyThreadPool类:java -cp . MyThreadPool 这将创建一个固定大小的线程池,提交四个任务到线程池,每个任务打印出它的任务编号和一个循环计数器。完成后,线程池将关闭。