线程与进程的关系:
备注(总结):
下面文章讨论的线程接口来自POSIX.1-2001。线程接口也称为“pthread”或“POSIX线程”,原来在POSIX.1-2001中是一个可选功能,但是后来SUSv4把它们放入了基本功能
线程测试宏、常量:
#include <stdio.h>
#include <stdlib.h>
#include <pthread.h>
void* func_thread_one(void* arg);
void* func_thread_two(void* arg);
int main()
{
pthread_t tid1,tid2;
int data=10;
//创建线程1
if(pthread_create(&tid1,NULL,func_thread_one,NULL)!=0){
perror("pthread_create");
exit(EXIT_FAILURE);
}
//创建线程2
if(pthread_create(&tid2,NULL,func_thread_two,NULL)!=0){
perror("pthread_create");
exit(EXIT_FAILURE);
}
sleep(2);
printf("Father running...\n");
printf("Father:data=%d\n",data);
if(pthread_join(tid1,NULL)!=0){
perror("pthread_join");
exit(EXIT_FAILURE);
}
if(pthread_join(tid2,NULL)!=0){
perror("pthread_join");
exit(EXIT_FAILURE);
}
exit(0);
}
void* func_thread_one(void* arg)
{
int data=66;
printf("thread1 running...\n");
printf("thread1:data=%d\n",data);
}
void* func_thread_two(void* arg)
{
int data=77;
printf("thread2 running...\n");
printf("thread2:data=%d\n",data);
}
附加: