c++11 thread
时间: 2023-09-15 14:15:39 浏览: 197
thread in c
C11引入了对多线程编程的支持。C11标准提供了一个名为"threads.h"的头文件,其中定义了一些函数和类型,用于创建和管理线程。下面是一个简单的使用C11多线程的示例代码:
```c
#include <stdio.h>
#include <threads.h>
int count = 0;
int increment(void* arg) {
for (int i = 0; i < 100; i++) {
count++;
}
return 0;
}
int main() {
thrd_t thread1, thread2;
thrd_create(&thread1, increment, NULL);
thrd_create(&thread2, increment, NULL);
thrd_join(thread1, NULL);
thrd_join(thread2, NULL);
printf("Count: %d\n", count);
return 0;
}
```
在上述代码中,我们创建了两个线程,它们执行的函数是`increment`。这个函数会将count值增加100次。通过`thrd_create`函数创建线程,通过`thrd_join`函数等待线程结束。最后,我们打印出count的值。
需要注意的是,C11对多线程的支持在不同平台上可能有差异,具体的实现可能会有所不同。此外,多线程编程需要注意线程间的同步和竞争条件等问题,以确保程序的正确性和可靠性。
阅读全文