酷代码 AI
菜单
服务商

写多线程

以下分别使用 Python、Java 和 C++ 为你展示实现多线程的代码示例。 Python 实现多线程 ```python import threading # 定义一个函数,作为线程要执行的任务 def print_numbers(): for i in range(5): print(f"线程 1 打印: {i}") # 定义另一个函数,作为另一个线程要执行的任务 def print_letters(): for letter in 'abcde': print(f"线程 2 打印: {letter}") # 创建线程对象 thread1 = threading.Thread(target=print_numbers) thread2 = threading.Thread(target=print_letters) # 启动线程 thread1.start() thread2.start() # 等待线程执行完毕 thread1.join() thread2.join() print("所有线程执行完毕") ``` 代码解释: - `threading.Thread` 类用于创建线程对象,`target` 参数指定线程要执行的函数。 - `start()` 方法用于启动线程。 - `join()` 方法用于等待线程执行完毕,确保主线程在所有子线程执行完后才继续执行。 Java 实现多线程 ```java class PrintNumbers implements Runnable { @Override public void run() { for (int i = 0; i < 5; i++) { System.out.println("线程 1 打印: " + i); } } } class PrintLetters implements Runnable { @Override public void run() { for (char letter = 'a'; letter <= 'e'; letter++) { System.out.println("线程 2 打印: " + letter); } } } public class MultiThreadExample { public static void main(String[] args) { // 创建线程任务对象 PrintNumbers printNumbers = new PrintNumbers(); PrintLetters printLetters = new PrintLetters(); // 创建线程对象 Thread thread1 = new Thread(printNumbers); Thread thread2 = new Thread(printLetters); // 启动线程 thread1.start(); thread2.start(); try { // 等待线程执行完毕 thread1.join(); thread2.join(); } catch (InterruptedException e) { e.printStackTrace(); } System.out.println("所有线程执行完毕"); } } ``` 代码解释: - 定义了两个类 `PrintNumbers` 和 `PrintLetters` 实现 `Runnable` 接口,重写 `run()` 方法,该方法包含线程要执行的任务。 - 创建线程任务对象和线程对象,使用 `start()` 方法启动线程。 - `join()` 方法用于等待线程执行完毕,可能会抛出 `InterruptedException` 异常,需要进行捕获处理。 C++ 实现多线程 ```cpp #include <iostream> #include <thread> // 线程要执行的函数 void print_numbers() { for (int i = 0; i < 5; i++) { std::cout << "线程 1 打印: " << i << std::endl; } } // 另一个线程要执行的函数 void print_letters() { for (char letter = 'a'; letter <= 'e'; letter++) { std::cout << "线程 2 打印: " << letter << std::endl; } } int main() { // 创建线程对象 std::thread thread1(print_numbers); std::thread thread2(print_letters); // 等待线程执行完毕 thread1.join(); thread2.join(); std::cout << "所有线程执行完毕" << std::endl; return 0; } ``` 代码解释: - 定义了两个函数 `print_numbers` 和 `print_letters` 作为线程要执行的任务。 - 使用 `std::thread` 类创建线程对象,将函数名作为参数传入。 - `join()` 方法用于等待线程执行完毕。 [2025-11-28 03:28:27 | AI问答 | 932点数解答]

发财导航,免费问AI
实用工具查看更多