线程创建后不执行问题
2017-05-24 16:40
197 查看
#include<stdio.h>
#include<pthread.h>
int i = 0;
static void* print_message_function( void *ptr );
int main(int argc ,char** argv )
{
pthread_t thread1, thread2;
char* message1 = "Hello";
char* message2 = "World " ;
void* rval = NULL;
pthread_create( &thread1, NULL, print_message_function, (void*)message1);
pthread_create(&thread2, NULL, print_message_function, (void*)message2);
pthread_join(thread1, &rval); 这里才是关键
printf("thread 1 exit code (%d)\n", (int)rval);
pthread_join(thread2, &rval);
printf("thread 2 exit code (%d)\n", (int)rval);
return 0;
}
static void* print_message_function( void *ptr )
{
char* message = NULL;
message = (char *) ptr;
printf("%s \n", message);
i++;
pthread_exit((void*)i);
}
#include<pthread.h>
int i = 0;
static void* print_message_function( void *ptr );
int main(int argc ,char** argv )
{
pthread_t thread1, thread2;
char* message1 = "Hello";
char* message2 = "World " ;
void* rval = NULL;
pthread_create( &thread1, NULL, print_message_function, (void*)message1);
pthread_create(&thread2, NULL, print_message_function, (void*)message2);
pthread_join(thread1, &rval); 这里才是关键
printf("thread 1 exit code (%d)\n", (int)rval);
pthread_join(thread2, &rval);
printf("thread 2 exit code (%d)\n", (int)rval);
return 0;
}
static void* print_message_function( void *ptr )
{
char* message = NULL;
message = (char *) ptr;
printf("%s \n", message);
i++;
pthread_exit((void*)i);
}
相关文章推荐
- MFC 线程创建在使用构造函数进行初始化线程的时候,创建线程实例了,但是线程并没有执行的问题
- main入口方法中创建线程执行顺序的问题
- 在创建线程时候碰到的问题以及思考
- ASP.NET“由于无法创建应用程序域,因此未能执行请求”问题一步一步解决
- 线程并发执行带来的问题
- java线程的创建,启动,执行
- MFC创建线程的问题
- 工作线程中调用UI线程创建的窗口的UpdateData会导致Assert的问题及解决办法.
- 创建新执行线程的两种方法
- 工作线程中调用UI线程创建的窗口的UpdateData会导致Assert的问题及解决办法(ZZ)
- 关于Win32 API(VC作为程序设计语言)的创建线程,解决互斥访问临界资源问题
- 线程间操作无效: 从不是创建控件“Control Name'”的线程访问它问题的解决方案及原理分析
- 关于线程创建的问题
- 子线程无法创建窗体的问题
- c#线程问题:线程间操作无效:从不是创建控件 的线程访问它InvalidOperationException异常
- c#线程问题:线程间操作无效:从不是创建控件 的线程访问它InvalidOperationException异常
- 关于用c生成的dll在使用其他供应商的工具创建可执行模块时遇到的一些问题
- (菜鸟级别)解决用VC创建新线程易出的问题error C2664: 'CreateThread' : cannot convert parameter 3 from 'unsigned long (void *)' to 'unsigned long (_
- WinForm中线程问题:线程间操作无效: 从不是创建控件“...”的线程访问它
- c#线程问题:线程间操作无效:从不是创建控件 的线程访问它InvalidOperationException异常