在 C++ 和 Java 中实现多线程的方法有所不同。下面分别介绍两种语言中的实现方式:
C++
C++11 标准引入了线程库 <thread>
,可以方便地实现多线程。以下是使用 C++11 的 std::thread
创建和运行线程的示例:
#include <iostream>
#include <thread>
void helloWorld() {
std::cout << "Hello from thread " << std::this_thread::get_id() << std::endl;
}
int main() {
// 创建线程
std::thread t(helloWorld);
// 等待线程完成
t.join();
return 0;
}
Java
Java 自 JDK1.5 起提供了 java.util.concurrent
包,其中包含了丰富的多线程支持。以下是使用 Java 的 Thread
类创建和运行线程的示例:
public class HelloWorldThread extends Thread {
public void run() {
System.out.println("Hello from thread " + Thread.currentThread().getId());
}
public static void main(String[] args) {
// 创建线程
Thread t = new HelloWorldThread();
// 启动线程
t.start();
}
}
另外,Java 还提供了 ExecutorService
接口和相关的实现类(如 ThreadPoolExecutor
和 Executors
工具类),用于更高效地管理和控制线程。