没有合适的资源?快使用搜索试试~ 我知道了~
基于mjpg-streamer-r63的源码分析之:基础知识详细解释[一].pdf
2星 需积分: 9 8 下载量 174 浏览量
2013-09-11
16:38:40
上传
评论
收藏 617KB PDF 举报
温馨提示
试读
7页
基于mjpg-streamer-r63的源码分析之:基础知识详细解释,详细解释其中的代码,知道代码怎么工作的
资源推荐
资源详情
资源评论
BBS.SASAOO.COM -- 财经 医疗 软件 娱乐 养生 综合信息论坛
BBS.SASAOO.COM -- 财经 医疗 软件 娱乐 养生 综合信息论坛
基于 mjpg-streamer-r63 的源码分析之:基础知识详细解释[一]
在 mjpg-streamer 的开源的网络视频服务器项目中,在代码中会经常用到线程,在 linux 下的线程 thread,下面来
详细的分析和学习一下 linux 系统下的线程,如果是在 ARM 嵌入式系统中的应用程序要用到线程 thread 的话,需
要在文件系统将 libpthread-0.9.30.1.so,当然这个版本是需要看具体的 arm-linux 的编译器版本中所包含的版本号,
只需拷贝到文件系统下的 lib 文件夹中,同时还需要将 lib 的路径配置好,这样应用程序能够找到这个
libpthread-0.9.30.1.so 库。这样就不会出现错误了。
一:线程的建立和退出
相对进程而言,线程是一个更加接近于执行体的概念,它可以与同进程中的其他线程共享数据,而且拥有自己的栈
空间,拥有独立的执行序列。在串行程序基础上引入线程和进程是为了提高程序的并发度,从而提高程序运行效率
和响应时间。线程和进程在使用上各有优缺点:线程执行开销小,但不利于资源的管理和保护;而进程则正好相反。
通过 pthread_create()函数来建立线程 API 定义如下(POSIX 线程相关的函数和变量定义都在头文件 pthread.h):
int pthread_create(pthread_t *thread, pthread_attr_t *attr, void *(*start_routine)(void *), void * arg)
参数:
thread:线程 id 返回值(无符号长整型数,bits/pthreadtypes.h);
attr: 默认值设置为 NULL。(bits/pthreadtypes.h 定义了结构体 pthread_atttr_t);
属性值包括:
可分离状态(detached state):PTHREAD_CREATE_JOINABLE(缺省值);PTHREAD_CREATE_DETACHED。
调度策略(scheduling policy):SCHED_OTHER(正常、非实时,缺省值)、SCHED_RR(实时、轮转法)和
SCHED_FIFO(实时、先入先出)。后两种调度策 略仅对超级用户有效,可通过函数
pthread_setschedparam()来改变。
调度参数(scheduling parameter):一个 sched_param 的机构,仅有一个整形变量表示线程运行的优先级。这
个参数仅当调度策略为实时(SCHED_RR 和 SCHED_FIFO)时才有效,可通过函数
pthread_setschedparam()来设置,缺省值为 0。
继承属性( inheritsched attribute ) :PTHREAD_EXPLICIT_SCHED ( 默认值) 和
PTHREAD_INHERIT_SCHED,前者表示新线程使用显式指定调度策
略和调度参数(即 attr 中的值),而后者表示继承调用者线程的值。
范围(scope):表示线程间竞争 CPU 的范围,也就是说线程优先级的有效范围。POSIX 的标准中定义了两个
值:PTHREAD_SCOPE_SYSTEM 和 PTHREAD_SCOPE_PROCESS,
前者表示与系统中所有线程一起竞争 CPU 时间,后者表示仅与同进程中的线程竞争 CPU 。目前 LinuxThreads 仅
实现了
PTHREAD_SCOPE_SYSTEM 值。
守护池大小(guard size):表示线程守护池的大小,该属性控制守护池(guard area)的大小,直接影响到线程
资源评论
- Sarah_cg2022-03-01没用!!!!!
- 阮小白一点零2020-03-21资料里介绍了linux进程相关的函数,讲linux的书里都会写的最基本的东西,对理解mjpg-streamer项目用处不大
pang_2011
- 粉丝: 0
- 资源: 4
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功