http://www.runoob.com/cplusplus/cpp-multithreading.html
两种类型的多任务处理:基于进程和基于线程
基于进程的多任务处理是程序的并发执行
基于线程的多任务处理是同一程序的片段并发执行
创建线程
#include <pthread.h>
pthread_create (thread, attr, start_routine, arg)
参数说明:
thread:指向线程标识指针
attr:设置线程属性
start_routine:线程的函数起始地址
arg:函数的参数
返回值,0成功,非0失败
终止线程
#include <pthread.h>
pthread_exit (status)
pthread_exit 用于显式地退出一个线程。
线程传递参数
连接和分离线程
pthread_join (threadid, status)
pthread_detach (threadid)
pthread_join() 子程序阻碍调用程序,直到指定的 threadid 线程终止为止。当创建一个线程时,它的某个属性会定义它是否是可连接的(joinable)或可分离的(detached)。只有创建时定义为可连接的线程才可以被连接。如果线程创建时被定义为可分离的,则它永远也不能被连接。