📄 pthread.c
字号:
#include <pthread.h>
#include <unistd.h>
#include <stdio.h>
#include <stdlib.h>
#include <assert.h>
void *mythread1(void *num)
{
int i;
for(i = 0; i < 5; i++){
printf("thread1: %d\n", (int)num);
}
pthread_exit((void *)1);
}
void *mythread2(void *str)
{
int i;
for(i = 0; i < 5; i++){
printf("thread2: %s\n", (char *)str);
}
pthread_exit((void *)2);
}
int main(int argc, char *argv)
{
pthread_t pid_1, pid_2;
void *rtn;
int i;
int year = 2008;
char str[] = "Bjut";
assert(sizeof(int) <= sizeof(void *));
assert(sizeof(char *) <= sizeof(void *));
if(pthread_create(&pid_1, NULL, mythread1, (void *)year) == -1){
printf("create thread1 error\n");
exit(1);
}
/* for(i = 0; i < 5; i++){ */
/* printf("main thread is waiting...\n"); */
/* } */
if(pthread_create(&pid_2, NULL, mythread2, (void *)str) == -1){
printf("creat thread2 error\n");
exit(1);
}
pthread_join(pid_1, &rtn);
printf("pthread1 exit on status: %d\n", (int)rtn);
pthread_join(pid_2, &rtn);
printf("pthread2 exit on status: %d\n", (int)rtn);
printf("main thread exit\n");
exit(0);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -