构造服务器的三种方式 模式 特性 多线程 并行,阻塞式系统调用 单线程处理 非并行,阻塞式系统调用 有限状态机 并行,非阻塞式系统调用
构造服务器的三种方式 模式 特性 多线程 并行,阻塞式系统调用 单线程处理 非并行,阻塞式系统调用 有限状态机 并行,非阻塞式系统调用
1113线程包的设计问题 给用户的线程的原语集叫线程包
11.1.3 线程包的设计问题 给用户的线程的原语集叫线程包
静态线程 在程序编制或编译阶段 就决定使用多少个线程 给每个线程分配固定的堆栈 方式简单,但不灵活
静态线程 • 在程序编制或编译阶段 就决定使用多少个线程 • 给每个线程分配固定的堆栈 • 方式简单,但不灵活
动态线程(1) 在运行中 动态创建和注销线程 需要指定线程主程序(作为指向过程的指针) 堆栈的大小,指定参数,如调度的优先级等 ·调用通常返回一个线程标识符 标识符在该线程的调用中被用到 进程启动时只拥有一个(隐含)线程 可据需要创建多个线程
动态线程(1) • 在运行中 动态创建和注销线程 • 需要指定线程主程序(作为指向过程的指针) 堆栈的大小,指定参数,如调度的优先级等 • 调用通常返回一个线程标识符 标识符在该线程的调用中被用到 • 进程启动时只拥有一个(隐含)线程 可据需要创建多个线程
线程的终止 当线程完成任务时,可自行退出 或者被杀掉
线程的终止 • 当线程完成任务时,可自行退出 • 或者被杀掉