C++多线程
2017-12-03 21:22
155 查看
http://www.runoob.com/cplusplus/cpp-multithreading.html
两种类型的多任务处理:基于进程和基于线程
基于进程的多任务处理是程序的并发执行
基于线程的多任务处理是同一程序的片段并发执行
创建线程
参数说明:
thread:指向线程标识指针
attr:设置线程属性
start_routine:线程的函数起始地址
arg:函数的参数
返回值,0成功,非0失败
终止线程
pthread_exit 用于显式地退出一个线程。
线程传递参数
连接和分离线程
pthread_join() 子程序阻碍调用程序,直到指定的 threadid 线程终止为止。当创建一个线程时,它的某个属性会定义它是否是可连接的(joinable)或可分离的(detached)。只有创建时定义为可连接的线程才可以被连接。如果线程创建时被定义为可分离的,则它永远也不能被连接。
两种类型的多任务处理:基于进程和基于线程
基于进程的多任务处理是程序的并发执行
基于线程的多任务处理是同一程序的片段并发执行
创建线程
#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)。只有创建时定义为可连接的线程才可以被连接。如果线程创建时被定义为可分离的,则它永远也不能被连接。
相关文章推荐
- c++多线程8event
- c++多线程使用printf输出的bug
- C++多线程
- [置顶] c++多线程(多线程处理vector)
- c++多线程(四)
- C++多线程之使用Mutex和Critical_Section
- C++多线程框架-----Mutex互斥和Sem信号量
- c++多线程编程1----具体概念理解
- C++多线程编程总结
- C++多线程实例
- C++多线程之使用Mutex和Critical_Section
- C++多线程(四)
- C++多线程编程入门之经典实例
- c++多线程编程:常见面试题
- C++多线程(九)
- C++多线程实例之临界区同步
- C++多线程-第三篇-Thread(线程)
- C++多线程(6)对象互斥
- C++多线程编程——线程的挂起、唤醒与终止
- C++多线程实例-信号量