您的位置:首页 > 其它

实习项目总结

2016-07-21 14:17 239 查看
目录
用到的知识

目录

用到的知识

多线程

线程是内核调度的最小单元,一种轻量级的进程,进程中可以有多个线程。前面说过每个进程有它自己独立的运行空间,而在同一个进程内的多线程是运行在同一片地址空间的,所以它们之间通信比起进程间通信就容易多了。多线程实现了多核心CPU架构(又叫对称多处理器架构(SMP))的效率最大化,在微观上是真正意义的并行。它们就好比进程的几个分支,最终汇聚成进程这条大河。

跟线程常见的函数有以下几个:

线程创建和回收

pthread_create:在进程中创建一条新线程

pthread_join:回收子线程(阻塞)

pthread_detach:分离子线程,分离后进程不必回收子线程

注意: pthread_join和pthread_detach只能选择其中的一个

线程取消函数

pthread_cancel:取消子线程,让它停止运行

pthread_setcancelstate:子线程设置自己是否可以被取消

pthread_setcanceltype:子线程设置被取消的类型,只有允许自己被取消时这个设置才有意义

线程退出函数

pthread_exit:线程返回(退出)的时候一般调用这个函数,也可以return,但不可以调用exit函数,因为exit是整个进程都退出了

pthread_cleanup_push:将要清理的线程压入栈

pthread_cleanup_pop:弹出栈中的线程

获取线程的id

pthread_self

线程函数的使用方法可以通过man手册查看

注意:编译线程的时候要加参数-lpthread
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: