《并行计算的编程模型》一3.6.3 锁

简介: 本节书摘来华章计算机《并行计算的编程模型》一书中的第3章 ,第3.6.3节, [(美)帕万·巴拉吉(Pavan Balaji)编著;张云泉等译,更多章节内容可以访问云栖社区“华章计算机”公众号查看。

3.6.3 锁

OpenSHMEM在对称内存中实现互斥锁,这些函数的原型如代码清单3-12所示。lock参数必须存在于对称内存空间中并在试图使用前被初始化为0,一般都在全局范围将它们声明为静态变量并初始化为0,或者程序员在lock初始化后和被使用前调用全局同步屏障。shmem_set_lock()函数将在获得锁后返回,如果需要的话会等到锁被清除。shmem_clear_lock()函数将释放锁,且仅应该被通过set函数获得锁的PE调用。shmem_test_lock()函数会尝试获取锁,如果成功返回0,若锁已被设置则返回1,正如其他范型中的锁,有必要让程序员确信程序没有创建死锁。
screenshot

相关文章
|
Java 异构计算
Java并发编程之概念一:并行与并发
Java并发编程之概念一:并行与并发概念解释并行性和并发性是既相似又有区别的两个概念。 并行性是指两个或多个事件在同一时刻发生。 而并发性是指连个或多个事件在同一时间间隔内发生。在多道程序环境下,并发性是指在一段时间内宏观上有多个程序在同时运行,但在单处理机环境下(一个处理器),每一时刻却仅能有一道程序执行,故微观上这些程序只能是分时地交替执行。
2348 0
|
并行计算
《并行计算的编程模型》一2.2.2 线程
本节书摘来华章计算机《并行计算的编程模型》一书中的第2章 ,第2.2.2节, [(美)帕万·巴拉吉(Pavan Balaji)编著;张云泉等译,更多章节内容可以访问云栖社区“华章计算机”公众号查看。
888 0
|
并行计算
《并行计算的编程模型》一2.3.3 屏障
本节书摘来华章计算机《并行计算的编程模型》一书中的第2章 ,第2.3.3节, [(美)帕万·巴拉吉(Pavan Balaji)编著;张云泉等译,更多章节内容可以访问云栖社区“华章计算机”公众号查看。
1077 0
|
并行计算 算法
《并行计算的编程模型》一2.3.4 锁与中断
本节书摘来华章计算机《并行计算的编程模型》一书中的第2章 ,第2.3.4节, [(美)帕万·巴拉吉(Pavan Balaji)编著;张云泉等译,更多章节内容可以访问云栖社区“华章计算机”公众号查看。
1105 0
|
并行计算
《并行计算的编程模型》一3.8 原子内存操作
本节书摘来华章计算机《并行计算的编程模型》一书中的第3章 ,第3.8节, [(美)帕万·巴拉吉(Pavan Balaji)编著;张云泉等译,更多章节内容可以访问云栖社区“华章计算机”公众号查看。
955 0
|
并行计算
《并行计算的编程模型》一1.8 并行I/O
本节书摘来华章计算机《并行计算的编程模型》一书中的第1章 ,第1.8节, [(美)帕万·巴拉吉(Pavan Balaji)编著;张云泉等译,更多章节内容可以访问云栖社区“华章计算机”公众号查看。
1991 0
|
并行计算 API
《并行计算的编程模型》一2.4.2 排序与内存模型
本节书摘来华章计算机《并行计算的编程模型》一书中的第2章 ,第2.4.2节, [(美)帕万·巴拉吉(Pavan Balaji)编著;张云泉等译,更多章节内容可以访问云栖社区“华章计算机”公众号查看。
1015 0
|
并行计算 程序员
《并行计算的编程模型》一3.7.3 非全局同步屏障
本节书摘来华章计算机《并行计算的编程模型》一书中的第3章 ,第3.7.3节, [(美)帕万·巴拉吉(Pavan Balaji)编著;张云泉等译,更多章节内容可以访问云栖社区“华章计算机”公众号查看。
781 0
|
并行计算
《并行计算的编程模型》一3.6.1 全局同步屏障
本节书摘来华章计算机《并行计算的编程模型》一书中的第3章 ,第3.6.1节, [(美)帕万·巴拉吉(Pavan Balaji)编著;张云泉等译,更多章节内容可以访问云栖社区“华章计算机”公众号查看。
1010 0
|
并行计算 算法 API
《并行计算的编程模型》一导读
对于正在编程的程序员,编程模型可被看作一台虚拟机,并可通过编程语言和函数库实现。如果某个编程模型成为计算机科学研究中的热点,需要具有以下特性:高效性(易于描述各种抽象算法)、移植性(兼容各种硬件计算平台)、高性能(高效均衡地利用硬件平台的计算能力)、通用性(广泛地描述各种算法)。
3407 0