加载中 ...
通信中间件实现的关键技术探讨论文
引发条件有两种形式:pthread_cond_signal()激活一个等候该条件的线程,存在多个等候线程时按入队顺序激活其中一个;而pthread_cond_broadcast()则激活所有等候线程。
5、读写锁
通过读写锁,沈阳软件设计可以对受掩护的共享资源举行并发读取和独占写入。读写锁是可以在读取或写入模式下锁定的单一实体。要修改资源,线程必须首先获取互斥写锁。必须释放所有读锁之后,才允许使用互斥写锁。
5.1读写锁的属性
初始化读写锁属性
pthread_rwlockattr_init使用实现中界说的所有属性的缺省值来初始化读写锁属性工具attr。读写锁属性工具初始化一个或多个读写锁之后,影响该工具的任何函数(包罗销毁)不会影响先前已初始化的读写锁。
销毁读写锁属性
pthread_rwlockattr_destroy可用来销毁读写锁属性工具。
实现可以导致pthread_rwlockattr_destroy()将attr所引用的工具设置为无效值。
设置读写锁属性
pthread_rwlockattr_setpshared可用来设置由历程共享的读写锁属性。
5.2读写锁的使用
1.初始化读写锁
pthread_rwlock_init可以通过attr所引用的属性初始化rwlock所引用的读写锁。初始化读写锁之后,该锁可以使用恣意次数,而无需重新初始化。乐成初始化之后,读写锁的状态会变为已初始化和未锁定。
2.获取读锁
pthread_rwlock_rdlock可用来向rwlock所引用的读写锁应用读锁。若是写入器未持有读锁,而且没有任何写入器基于该锁壅闭,则挪用线程会获取读锁。若是写入器未持有读锁,但有多个写入器正在等候该锁时,挪用线程是否能获取该锁是不确定的。若是某个写入器持有读锁,则挪用线程无法获取该锁。若是挪用线程未获取读锁,则它将壅闭。
3.获取写锁
pthread_rwlock_wrlock可用来向rwlock所引用的读写锁应用写锁。若是没有其他读取器线程或写入器线程持有读写锁rwlock,则挪用线程将获取写锁。否则,挪用线程将壅闭。若是在举行挪用时,挪用线程持有读写锁(读锁或写锁),则效果是不确定的。为制止写入器资源匮乏,允许在多个实现中使写入器的优先级高于读取器。若是针对未初始化的读写锁挪用pthread_rwlock_wrlock(),则效果是不确定的。
4.释放读写锁
pthread_rwlock_unlock可用来释放在rwlock引用的读写锁工具中持有的锁。若是通过挪用pthread_rwlock_unlock()来释放读写锁工具中的读锁,而且其他读锁当前由该锁工具持有,则该工具会保持读取锁定状态。若是多个线程基于rwlock中的读锁和写锁壅闭,则无法确定读取器和写入器谁先获得该锁。若是针对未初始化的读写锁挪用pthread_rwlock_unlock(),则效果是不确定的。
5.销毁读写锁
pthread_rwlock_destroy可用来销毁rwlock引用的读写锁工具并释放该锁使用的任何资源。再次挪用pthread_rwlock_init()重新初始化该锁之前,使用该锁所发生的影响是不确定的。实现可能会导致pthread_rwlock_destroy()将rwlock所引用的工具设置为无效值。
6、竣事语
由于文章篇幅有限,只能从大要上对通讯中心件实现的要害手艺举行简朴的先容,详细的一些细节可能不够深入,在这只能给读者作为参考,请读者见谅。
参考文献:
[1]何勇.《历程间通讯的漫衍式实现》.吉林大学,2004.
[2]JohnShapleyGray著,张宁等译.《UNIX历程间通讯(第二版)》.电子工业出书社,2001.
[3](英)GeorgeCoulouris,JeanDollimore,TimKindberg著,金蓓弘等译.《漫衍式系统观点与设计》第三版.机械工业出书社,中信出书社,2004.
[4]DouglasE.Comer,DavidL.Stevens著.赵刚,林瑶,蒋慧译.《用TCP/IP举行网际互联第三卷:客户-服务器编程与应用(Linux/POSIX套接字版)》.电子工业出书社,2001.
中国鸣网致力于为需要刊登论文的人士提供相关服务,提供迅速快捷的论文揭晓、写作指导等服务。详细揭晓流程为:客户咨询→确定互助,客户支付定金→文章发送并揭晓→客户吸收任命通知,支付余款→杂志出书并寄送客户→客户确认收到。鸣网系学术网站,对所投稿件无稿酬支付,谢绝非学术类稿件的投递!
OA系统手机软件开发
“沈阳软件公司”的新闻页面文章、图片、音频、视频等稿件均为自媒体人、第三方机构发布或转载。如稿件涉及版权等问题,请与
我们联系删除或处理,客服QQ:55506560,稿件内容仅为传递更多信息之目的,不代表本网观点,亦不代表本网站赞同
其观点或证实其内容的真实性。
热门文章
分享到微信朋友圈
×
打开微信,点击底部的“发现”,
使用“扫一扫”即可将网页分享至朋友圈。
使用“扫一扫”即可将网页分享至朋友圈。