控制台程序多线程生成随机数
时间: 2024-04-16 18:22:25 浏览: 84
随机数生成程序
5星 · 资源好评率100%
控制台程序多线程生成随机数的实现可以通过以下步骤进行:
1. 首先,需要引入相关的头文件和库,如 `<iostream>` 和 `<thread>`。
2. 创建一个生成随机数的函数,可以使用 `<random>` 头文件中的随机数生成器。例如,可以使用 `std::random_device` 作为种子,并使用 `std::mt19937` 作为随机数引擎。
3. 在主函数中,创建多个线程来生成随机数。可以使用 `std::thread` 类来创建线程,并将生成随机数的函数作为线程的入口函数。
4. 启动线程并等待线程执行完毕。可以使用 `std::thread::join()` 函数来等待线程执行完毕。
下面是一个示例代码:
```cpp
#include <iostream>
#include <thread>
#include <random>
// 生成随机数的函数
void generateRandomNumber()
{
std::random_device rd;
std::mt19937 gen(rd());
std::uniform_int_distribution<int> dis(1, 100);
for (int i = 0; i < 5; ++i)
{
int randomNum = dis(gen);
std::cout << "Thread ID: " << std::this_thread::get_id() << ", Random Number: " << randomNum << std::endl;
}
}
int main()
{
// 创建多个线程
std::thread t1(generateRandomNumber);
std::thread t2(generateRandomNumber);
// 启动线程
t1.join();
t2.join();
return 0;
}
```
这段代码中,我们创建了两个线程来生成随机数。每个线程都会生成5个随机数,并输出线程ID和生成的随机数。在主函数中,我们使用 `std::thread::join()` 函数来等待线程执行完毕。
阅读全文