多核程序设计技术

并发:指多个线程在某段时间内能够同时被执行。并发可以在串行处理器上通过交错执行的方法来实现。
并行:指多个线程在任何时间点都同时执行。
线程:一些相关指令的离散序列。

层次: 用户级/内核级/硬件线程。

一个进程的所有线程共享同一个地址空间和特定资源,但是每个线程的允许是向后独立的。
因此,每个线程有一个栈空间,由操作系统管理。
各种操作系统默认的栈大小是不一样的。

问题分解方式:
  任务分解:每个线程做不同的任务
  数据分解:几个线程共同完成一个任务,然后一起进入下一个
  数据流分解:一个线程先启动,另一个线程延迟启动,并在另一个线程基础上开始,之后线程一起运行。

多线程: 同步,通行,负载平衡,可扩展性

同步:互斥(mutual exclusion)和条件同步(condition synchronization)


同步原语:
信号量:s.sem,P(s),V(s),s.wait()
锁:互斥量,递归锁,读写锁,旋转锁
条件变量:wait(L),signal(L),broadcast(L)

消息:在概念上多与进程而非线程相关。
进程内传递(intra-process):两个线程处于同一进程
进程间传递(inter-process):两个线程处于不同进程
进程对进程(process-process):两个进程不依赖于线程而自行通信

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值