📄 ex10_1a.c
字号:
/*filename:ex7_1.c*/
#include <stdio.h>
#include <errno.h>
#include<pthread.h>
#include<unistd.h>
#define THREAD_NUM 2
void *my_thread(void *arg)
{
pthread_t id;
int *nump;
int num;
int retval;
nump=(int*)(arg);
num=*nump;
printf("thread %d:started\n",num);
id= pthread_self();
printf("thread %d:ID is %ld\n",num,id);
retval=100+num;
printf("thread %d:exit with %d\n",num,retval);
pthread_exit(&retval);
}
int main()
{
int count;
pthread_t thread[THREAD_NUM+1];
int *retval[THREAD_NUM+1];
count=1;
while(count<=THREAD_NUM)
{
printf("Create thread %d\n",count);
if (pthread_create(&thread[count],NULL,my_thread,(void*)(&count))!=0)
{
fprintf(stderr,"Count not create thread %d:%s\n",count,strerror(errno));
}
count++;
}
for (count=1;count<=THREAD_NUM;count++)
{
if (pthread_join(thread[count],(void **)(&retval[count]))!=0)
{
fprintf(stderr,"No thread %d to join:%s\n",count,strerror(errno));
}
else
{
printf("Thread %d returned %d\n",count,*retval[count]);
}
}
exit(0);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -