在同一个进程中的创建的线程共享该进程的地址空间,使用多线程大大提高了任务切换的效率。
多线程编程 1、创建线程:pthread_create
2、等待指定线程结束:pthread_join
3、退出一个线程:pthread_exit
4、取消一个线程:pthread_cancel
线程同步和互斥
同步指多个任务(线程)按照约定的顺序相互配合完成一件事情。
由信号量来决定线程是继续运行还是阻塞等待。(信号量代表某一类资源,其值表示系统中该资源的数量)
信号量只能通过三种操作来访问:初始化、P操作(申请资源)、V操作(释放资源)
函数:1、初始信号量:sem_init
2、P操作:sem_wait
3、V操作:sem_post
互斥锁(用来保证共享数据操作的完整性)
函数:1、初始化互斥锁pthread_mutex_init
2、申请互斥锁 pthread_mutex_lock
3、释放互斥锁 pthread_mutex_unlock