豆搜网 文档下载 文档下载导航
设为首页 | 加入收藏
搜索 请输入内容:  
 导航当前位置: 文档下载 > 所有分类 > IT/计算机 > 多线程编程指南(二)
侵权投诉

多线程编程指南(二)

用多线程编程
2.1线程(函数)库(The Threads Library)
用户级多线程是通过线程库,libthread来实现的(参考手册第3页:
library routines)。线程库支持信号,为可运行的程序排队,并负责同
时操纵多任务。
这一章讨论libthread中的一些通用过程,首先接触基本操作,然后循
序渐进地进入更复杂的内容
创建线程-基本特性 Thr_create(3T)
获得线程号 Thr_self(3T)
执行线程 Thr_yield(3T,the below is same)
挂起或继续线程 Thr_suspend
Thr_continue
向线程送信号 Thr_kill
设置线程的调用掩模 Thr_sigsetmask
终止线程 Thr-exit
等待线程终止 Thr-join
维护线程的私有数据 Thr_keycreate
Thr_setspecific
Thr_getspecific
创建线程-高级特性 Thr_create
获得最小堆栈容量 Thr_min_stack
获得或设置线程的同时性等级 Thr_getconcurrency
Thr_setconcurrency
获得或设置线程的优先级 Thr_getprio
Thr_setprio
2.1.1创建线程-基本篇
thr_create过程是线程库所有过程当中最复杂的一个。这部分的内容仅
适用于你使用thr_create的缺省参数来创建进程。
对于thr_create更加复杂的使用,包括如何使用自定参数,我们将在高
级特性部分给出说明。
thr_create(3T)
这个函数用于在当前进程中添加一个线程。注意,新的线程不继承未处
理的信号,但继承优先级和信号掩模。
#include
int thr_create(void *stack_base,size_t stack_size,
void *(*start_routine) (void*),void *arg,long flags,
thread_t *new_thread);
size_t thr_min_stack(void);
stack_base--新线程的堆栈地址。如果stack_base是空则thr_create()按
照stack_size为新线程分配一个堆栈。
Stack_size--新线程堆栈的字节数。如果本项为0,将使用缺省值,一般
情况下最好将此项设为0。
并不是每个线程都需要指定堆栈空间。线程库为每个线程的堆栈分配1M
的虚拟内存,不保留交换空间。(线程库用mmap(2)的MAP_NORESERVE的选项
来实现这种分配)。
Start_routine--指定线程开始执行的函数。如果start_routine返回,
线程将用该函数的返回值作为退出状态而退出。(参考thr_exit(3T))。
Flags--指定新线程的属性,一般设置为0。
Flags的值是通过下列内容的位同或来实现的(最后四个flags在高级特性中
给出)。
1. THR_DETACHED 将新线程分离,使得它的线程号和其他资源在线程
结束时即可以回收利用。当你不想等待线程终止时,将其置位。如果没有明确的
同步需求阻碍,一个不挂起的

第1页

热门文档

相关文档

  • 多线程编程指南(三)

    2.1.9简单的例程 在例子2-1里,一个运行在顶部的线程,创建一个辅助线程来执行fetch过程, 这个辅助过程涉及到复杂的数据库查询,需要较长的时间。主线程在等待...

  • 多线程编程指南

    2页 免费喜欢此文档的还喜欢 linux的多线程编程的高效... 9页 免费 Posix线程编程指南(经典... 18页 免费 多线程编程指南 328页 1下载券 c语言多进程多线程...

  • 多线程编程指南(一)

    多线程编程指南(一)_IT/计算机_专业资料。多线程编程1线程基础 multithreading可以...1.2.2使多处理器效率更高 典型情况下,有同时性需求的多线程应用程序不需要...

  • Windows下多线程编程指南

    Windows 下多线程编程指南 1 内核对象 1 .1 内核对象的概念 内核对象是内核...1 .2 内核对象使用的计数 因为内核对象的所有者是内核,而不是进程,所以何时...

  • 多线程编程指南 (1)mac osx

    多线程编程指南 (1)mac osx_计算机软件及应用_IT/计算机_专业资料。thread document...19 2.3.1 2.3.2 2011-11-28 ? ? ? 2011 ? YouMi ? Mob...

  • OpenMP多线程编程指南

    OpenMP多线程编程指南(一):基础篇蔡 小敏摘要:OpenMP 是由 OpenMP Architecture ...4 [2] 日本信赖性学会?论文投稿规定, http://reaj.i-juse.co.jp/paper/...

  • 基于IOS系统的多线程编程指南

    基于IOS系统的多线程编程指南_计算机软件及应用_IT/计算机_专业资料。基于IOS系统...65 [2] 2011-11-28 ? 2011 YouMi Mobile Co. Ltd. All Rights ...

  • 多线程编程指南-solaris

    多线程编程指南 1 线程基础 multithreading 可以被翻译成多线程控制。与传统的 ...Table 1-2 Thread Synchronization Times Operation Microseconds Ratio Unbound ...

  • 多线程编程之二

    多线程编程之二——MFC 中的多线程开发 作者:韩耀旭 下载源代码 五、 MFC 对多线程编程的支持 MFC 中有两类线程 ,分别称之为工作者线程和用户界面线程 。二...

  • 13_多线程编程二【精品】

    结束线程的三种方法 2 本章目标 ?掌握线程同步 ?了解死锁的概念 ?多线程与网络编程 3 并发访问的问题 ?有时两个或多个线程可能会试图同时访问一个资 源 ? ...

站点地图 | 文档上传 | 侵权投诉 | 手机版
新浪认证  诚信网站  绿色网站  可信网站   非经营性网站备案
本站所有资源均来自互联网,本站只负责收集和整理,均不承担任何法律责任,如有侵权等其它行为请联系我们.
文档下载 Copyright 2013 doc.docsou.com All Rights Reserved.  闽ICP备15022310号-9  闽公网安备 35021102001881号  email
返回顶部