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

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

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
UNIX编程三部曲之第三曲如何实现加减乘除服务线程池(上)
7 D8 F2 @5 m  I3 ?4 V9 y
3 C. b1 |% W( `2 b3 Z一、程序框架设计: T0 b& T2 M4 F7 o7 `7 u) I& _
. c% _8 y1 ]3 F6 D1 _- G' h
1.1 课题要求
4 }: g& ]* b1 `) E% |

1 e9 r$ F4 {. w/ ?' `1、使用多个队列,每一个计算线程有独立的队列用于存储计算请求,请求线程可用一个队列用于接收结果。" l9 `, k& m. Q, A* L. o' n, [
. G  i" ?" Q# C4 @
2、实现A(+,-,X,/)B简单两元计算。+ y6 o8 n( h* V. ?3 F* J

; E# W( ?& V1 D3、请求线程与计算线程是多对多关系。
/ ]$ s& i1 v) _) f$ ]
. Q5 Z% T4 X8 b- V& j$ | % _; E% G! R% {' E  K
1.2 基本概念回顾

* L. U  g# G# e; o7 |+ v8 N) E; q3 b2 @/ ^/ J3 a/ e
1.2.1 线程的定义( {; N, p+ W1 _4 {
. v3 V8 X! N6 r- u3 z4 x  D
线程,有时被称为轻量级进程(Lightweight Process,LWP),是程序执行流的最小单元。一个标准的线程由线程ID,当前指令指针(PC),寄存器集合和堆栈组 成。另外,线程是进程中的一个实体,是被系统独立调度和分派的基本单位,线程自己不拥有系统资源,只拥有一点儿在运行中必不可少的资源,但它可与同属一个进程的其它线程共享进程所拥有的全部资源。一个线程可以创建和撤消另一个线程,同一进程中的多个线程之间可以并发执行。由于线程之间的相互制约,致使线程 在运行中呈现出间断性。线程也有就绪、阻塞和运行三种基本状态。每一个程序都至少有一个线程,若程序只有一个线程,那就是程序本身。
- C) J; d$ s1 N; {. f8 M; ?% a, ]3 A0 \' l/ V  ~0 N9 v
线程是程序中一个单一的顺序控制流程。在单个程序中同时运行多个线程完成不同的工作,称为多线程。4 z& S. V( y1 H! P2 z
# W  p9 x/ [. E7 n1 f3 g5 ?+ H
1.2.2 线程的特点
5 \8 [* i6 @# r* |; }% o- m$ @% K7 W. J) H0 e
在多线程OS中,通常是在一个进程中包括多个线程,每个线程都是作为利用CPU的基本单位,是花费最小开销的实体。线程具有以下属性。
$ |+ [; W, h# h/ `; H
7 X5 f) R$ e) _% r8 Z$ C- u1)轻型实体
: C- T2 C  L7 Z9 }
" h3 ?& E+ J) r3 ~4 X
游客,如果您要查看本帖隐藏内容请回复
: O9 }+ R) }2 }  a

- o/ o, T( ^  |

该用户从未签到

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

本版积分规则

关闭

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

EDA365公众号

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

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

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

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

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