找回密码
 注册
关于网站域名变更的通知
查看: 326|回复: 1
打印 上一主题 下一主题

UNIX编程三部曲之第三曲如何实现加减乘除服务线程池(上)

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2019-9-29 13:37 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
UNIX编程三部曲之第三曲如何实现加减乘除服务线程池(上)/ n6 w- f& P, R7 c' B

: z- r% @$ I7 S1 M$ e2 Y一、程序框架设计
9 o/ M4 T- }* c5 o, W, S6 C0 B0 V) G$ \* T( R
1.1 课题要求

! b/ V* s: W5 m
3 {' ~" P6 v+ T' e1、使用多个队列,每一个计算线程有独立的队列用于存储计算请求,请求线程可用一个队列用于接收结果。1 `6 x7 L, d3 `7 d$ g( f8 K. w, [
/ Q) k7 \- ?, k
2、实现A(+,-,X,/)B简单两元计算。2 |" N9 D; R& m! d' ?1 W+ E" c

: d( D! v2 I8 o$ {# W3、请求线程与计算线程是多对多关系。! ~* n! {1 l0 G1 R2 V9 L1 }
! n  U: Q6 e% f& {6 d: A9 b
8 _. t+ U+ W0 q
1.2 基本概念回顾
* m( q0 k8 [* m8 W% _6 Q
5 W; n6 @# W, @$ S
1.2.1 线程的定义6 ~% c- Q/ N" w6 W1 v8 S- T

  w, Z+ C% v% G3 g+ M线程,有时被称为轻量级进程(Lightweight Process,LWP),是程序执行流的最小单元。一个标准的线程由线程ID,当前指令指针(PC),寄存器集合和堆栈组 成。另外,线程是进程中的一个实体,是被系统独立调度和分派的基本单位,线程自己不拥有系统资源,只拥有一点儿在运行中必不可少的资源,但它可与同属一个进程的其它线程共享进程所拥有的全部资源。一个线程可以创建和撤消另一个线程,同一进程中的多个线程之间可以并发执行。由于线程之间的相互制约,致使线程 在运行中呈现出间断性。线程也有就绪、阻塞和运行三种基本状态。每一个程序都至少有一个线程,若程序只有一个线程,那就是程序本身。& ?4 B6 o6 m$ \2 v8 U

/ w; m) N  `* H; q0 J9 J线程是程序中一个单一的顺序控制流程。在单个程序中同时运行多个线程完成不同的工作,称为多线程。
' s7 S5 |" n/ E- w( L" y5 O$ j; }4 H7 ~& B+ y8 B6 _: l$ o
1.2.2 线程的特点
) n* x# \# O: F/ t
/ C9 W& E8 C' J2 a: S: r在多线程OS中,通常是在一个进程中包括多个线程,每个线程都是作为利用CPU的基本单位,是花费最小开销的实体。线程具有以下属性。" x5 M5 r- {7 ^! y+ i! [8 v2 G
* B2 y0 x4 S3 E6 r$ Q& L; J( F0 H
1)轻型实体
1 O6 K; \! }. ^8 e; @
' J  d* M; q# f. N- d) T$ \
游客,如果您要查看本帖隐藏内容请回复
  N9 f) f# y7 x+ L: H

. H2 ~6 y' A  A% o6 \1 O

该用户从未签到

2#
发表于 2019-9-29 19:07 | 只看该作者
UNIX编程三部曲之第三曲如何实现加减乘除服务线程池。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-11-25 01:40 , Processed in 0.171875 second(s), 26 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表