我的并行计算之路(五)Pthreads共享内存编程

本文介绍了并行计算中的共享内存编程,对比了共享内存和分布式内存编程的区别。重点讲解了POSIX线程库(Pthreads)在Linux和Mac OS等系统中的应用,包括线程的创建、同步和通信。通过一个简单的多线程程序实例,阐述了Pthread_t对象的使用以及pthread_create和pthread_join函数的工作原理。
摘要由CSDN通过智能技术生成

 共享内存,可以理解为多个CPU连接在一个内存上,内存上的数据供所有CPU访问和修改。与之对应的概念是分布式内存编程,详见我之前的博客《我的并行计算之路(一)Ubuntu 16.04下的MPI安装》。共享内存相对于分布式内存编程哟个很大的好处是数据是共享的,即所有的CPU都可以访问的到。而不是像分布式内存编程那样,当需要数据交互时,得通过进程通信来完成《我的并行计算之路(二)MPI点对点通信》《我的并行计算之路(三)MPI集合通信》《我的并行计算之路(四)MPI集合通信》。此外共享内存和分布式内存编程还有一个很大的不同,就是分布式内存运行的是进程,而共享内存运行的是线程。

线程可以理解为“轻量级的进程”。进程是一个可拥有资源的独立单位又是一个可以独立调度和分派的单位,因此其才成为一个能独立运行的基本单位。然而,成也萧何,败也萧何,也正是进程又拥有资源又可以被独立调度和分派,因此操作系统在进程切换的时候需要花费大量的时间和空间开销,不仅需要保存和设置寄存器内容,还需要涉及存储器管理方面的工作。因此,若能将进程的两个属性分开,由操作系统分开处理,程序的并发性会更好。亦即,对于作为调度和分派的基本单位ÿ

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值