一、线程
首先我们说一下什么是线程。线程是计算机中独立运行的最小单位,在运行时占用很少的系统资源,由于每个线程占用的CPU时间是由系统分配的,因此我们可以把线程看作为系统分配CPU时间的基本单位。在我们用户看来多线程是并发执行的,但是从操作系统的角度来看,对于单核CPU来说各个线程是交替执行的,系统在各个线程之间不停的切换,每个线程只有在系统分配给它的时间内获得cup的控制权,执行线程中的代码。
二、线程的使用
了解了什么是线程之后,我们就可以使用线程,这里我们通过三个函数来对线程进行操作。
头文件:#include <pthread.h>
1.创建线程:
int pthread_create(pthread_t *thread, const pthread_attr_t *attr, void *(*start_routine) (void *), void *arg);
参数:
thread:用来存放线程id号
attr: 线程的属性,一般用NULL
start_routine:函数指针,指线程要做的事情,类似于信号处理函数。
arg:给函数传递的参数,没有可用使用NULL
返回值:
成功:0
失败:errno
举个栗子:
pthread_t thread_A;
pthread_create(&thread_A,NULL,handler_A,NULL)
2.退出线程
void pthread_exit(void *ret