C++多线程代码示例
时间: 2023-11-14 17:05:38 浏览: 88
c++多线程代码实例
5星 · 资源好评率100%
以下是一个使用C语言编写的多线程代码示例:
```c
#include <stdio.h>
#include <stdlib.h>
#include <pthread.h>
#define NUM_THREADS 5
void *thread_function(void *arg)
{
int tid;
tid = *((int *)arg);
printf("Thread %d: Hello World!\n", tid);
pthread_exit(NULL);
}
int main()
{
pthread_t threads[NUM_THREADS];
int thread_args[NUM_THREADS];
int i;
// 创建多个线程
for (i = 0; i < NUM_THREADS; ++i)
{
thread_args[i] = i;
pthread_create(&threads[i], NULL, thread_function, (void *)&thread_args[i]);
}
// 等待线程执行完毕
for (i = 0; i < NUM_THREADS; ++i)
{
pthread_join(threads[i], NULL);
}
return 0;
}
```
该示例中,首先定义了一个线程执行函数`thread_function`,它接收一个`void*`类型的参数,并通过强制转换为`int*`类型来获取线程标识符。然后在函数中打印输出线程的标识符。
在`main`函数中,首先声明了一个存放线程对象的数组`threads`和存放线程参数的数组`thread_args`。然后使用`pthread_create`函数创建了多个线程,并将线程标识符存入`threads`数组中。每个线程的参数从`thread_args`数组中获取。接着使用`pthread_join`函数等待所有线程执行完毕。
阅读全文