#include <pthread.h> #include <iostream> using namespace std; int global = 0; void * assign_value(void *param){ global = 3; } int main(){ pthread_t thread; pthread_create(thread, NULL, assign_value, (void *) nullptr); pthread_join(thread, NULL); cout << global << endl; return 0; }
结果输出为3,如果不加pthread_join(thread,NULL)的话,输出为0。这里,pthread_join只有当thread线程结束工作时才返回。