说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

用std::atomic實現簡單的讀寫鎖

HTML文档下载 WORD文档下载 PDF文档下载
用std::atomic實現簡單的讀寫鎖,適合與少量寫入,大量讀取的情況

 

/hpp file#include <atomic>#ifndef ns_mutex_header_#define ns_mutex_header_namespace ns{	struct mutex	{		mutex();			void req(int is_read)volatile;		void unreq(int is_read)volatile;		inline void req_read(){req(1);}		inline void req_write(){req(0);}		inline void unreq_read(){unreq(1);}		inline void unreq_write(){unreq(0);}		struct enter		{		   enter(mutex* ths_,int is_read_=1):ths(ths_),is_read(is_read_){ths->req(is_read);}		   ~enter(){ths->unreq(is_read);}		 private:			mutex* ths;			int is_read;		};	private:		std::atomic<uint32_t> read_flags,write_flags;	};};#endif//ns_mutex_header_#include "ns_mutex.h"#include <unistd.h>namespace ns{	mutex::mutex()	{		write_flags=read_flags=0;	}	void mutex::req(int is_read)volatile	{		if(is_read)		{		again_read:					while(write_flags!=0)usleep(100);						++read_flags;			if(write_flags!=0)			{				--read_flags;				goto again_read;			}		}		else		{			uint32_t e(0);			while(!write_flags.compare_exchange_strong(0,1,e,1))e=0,usleep(100);			while(read_flags!=0)usleep(100);					}	}	void mutex::unreq(int is_read)volatile	{		if(is_read)--read_flags;		else --write_flags;	}};

 

孙博凯:微软日益开放,Windows Azure更加拥抱开源 大数据计算:如何仅用1.5KB内存计算十亿个不同的对象 我们为什么爱EC2和S3却彻底抛弃EBS 不畏Surface:诺基亚明年或推Windows平板 Linus Torvalds:用户程序被破坏永远是Kernel的问题! Python高效编程技巧 苹果加速硬件迭代 iPad5原型机曝光 宏碁推99美金平板 价格创历史新低 黑莓10全键盘版代号N系列,谍照泄露! 那些年我们用过的互联网产品 QQ亿级业务演变:从文件、音视频说起 少年企鹅的成长之旅:QQ体验设计发展史 全球超算Top 500:Linux已占93.8%,Windows或将消失 AWS东部地区再次发生宕机 Netflix等网站受影响 2012年全球最美的十个数据中心 CodeCards:程序员电子贺卡DIY项目 微软首席战略官Craig Mundie将于2014年退休 LG明年CES展新款智能电视 增强自然语言识别 微软包嘉峰:企业用户向Windows 8迁移加速 2013年10个科技预测 三维打印技术将成主流 能省电99.96%:微软开发基于云的GPS技术 十个最有用的云数据库 开源产品系列:企业级Web框架web2py 让针对Webkit优化的网站兼容WP8 IE10 CMDN Club 24期:互联网产品的演进之路——从QQ谈互联网14年进化史 360安全浏览器发布“照妖镜”和“网站名片”功能 Windows Server 2012实用教程:添加Hyper-V管理器 为何Google弃置GCE和GAE选择AWS? 2012移动应用盘点:乱象丛生 最佳与奇葩共舞 从1976至2013大事记,看Android未来命运 c#经典入门视频001基础知识-苏坤老师主讲 北京掌中仙境技术有限公司招聘程序开发人员 在.net中如何获得数据库中的所有用户表的信息,以及......? 在线等!!菜鸟一问:用什么函数使‘空’返回为零,就像foxpro的iif... 如何实现两个form间参数的传递? 一个关于DBCHART的使用问题。 数据机构的一道题!~(队列) 求救高手?active dll的Ftp上传组件的问题?(100) TQuery返回的字段类型信息如何区分numeric还是float? 我感觉VC里最神秘的几块内容(至今也没搞懂) 在这里混了有段日子了 升星 散分!!(请版主别删) 欢迎大家加入我建的QQ群 请问一下各位是如何调用第三方的DLL。例如:华为DLL.清华深资DLL。等等。。。 QRBand能否自动换页的问题。 请问有哪位 有ACCP的的全套资料第一学期第一学年 资料 一个关treeview的问题 sql server有没有办法看一个image类型值是否有无? 嵌入到outlook控件的问题 一个奇怪的问题: 怎么老打不开数据库set db= new notesdatabase("","data.nsf")??? 如何调用DLL啊? JSP怎么样调用sessionbean? 如何在Cell单元格显示数据库中已image类型存放的图片?(急) php有什么好办法把mysql里面枚举型字段的各个项目读出来? easy problem 文件问题 在线等候 北京掌中仙境技术有限公司招聘程序开发人员 请问win2003中如何起用3d? 关于迭代开发模式 主菜单的字体怎么修改? C#中自动生成SQL语句(update,delete)是否并不怎么好呢? 关于在VC中开发数据库使用ORACLE的若干问题?(SQL SERVER 到 ORACLE转换的问题) 如果更新有外键约束的主键呢? 谁有播放*.dat的asp组件啊!~ 这是一个控件源码,为什么只有在运行时,才能显示控件的图形,请指教! 电脑一进系统就待机……sos 浅谈视图(Views) 本人急需自然景物的分形源程序(最好包括山水树),急!可加分 高分求免费电影下载网站,最好是一些提供最新电影的网站 请教axis的开始的安装配置问题,谢谢~ 如何用ASP实现往已经建好的表中添加新的字段? TQuery返回的字段类型信息如何区分numeric还是float? 为什么弹出来的菜单偏离我的点的位置很远? 高手请进!!! 用sqlDataAdapter自动产生的update,delete语句是否最优? 小问题,50分,我的CRichEditCtrl继承类为什么在输入汉字时不触发 WM_CHAR 消息!! 100分,如何将一个类实例存入数据库,并取回? JavaScript问题,请大家帮忙。 急,急,急!如何做一个循环让程序延迟3秒执行? 有意思的问题,请高手指教!(100*x) 如何根据条件来得到DataGrid需要显示的列!!! php运行环境配置 CSDN怎么总出错啊?ft... 军用动力核反应堆有好坏之分吗有人说米帝核潜艇的核反应堆加满一次燃料能航行十几年,而我们的核潜艇只能走三四年.我想问核反应堆(不算民用)是不是都是同一数量级的,有没有高级和 平行四边形ABCD,E、F分别是AB、AD中点,CE、CF分别交BD于H、G,求BH=HG=GD.图 一个令人讨厌的家伙用英语怎么说? “农业部黄淮海区玉米科学观测实验站”怎么翻成英文 不厌其烦、漫不经心、可怜巴巴,本文主要内容意思 telecommunications superhighway blessing or course是什么意思 先用清水淘米,淘完米后用淘米的水洗菜,洗完以后用洗菜的水涮拖把,涮完拖把以后用涮拖把的水冲马桶上面的话用英语怎么翻译 与可怜巴巴相近的词语都有什么 a degree course in Applied Thai Traditional Medicine怎么翻啊?请勿机译, 测验的英文 capstone是什么 有多少中国人或诺贝尔奖提名? wa ka xi wa ki da o a na da 东风小学五年级买4只水壶,5把扫帚,共用去150.5元,六年级买同样的水壶4只扫帚8 把,共付出182元,每只水每只水壶和每把扫帚各多少元 不要方程 生男生女决定于夫妇中的丈夫,因为男性能产生x、y两种,女性只产生具有x染色体的一种卵细胞.这句话是对是错额...到底是对的还是错的!我都蒙了! duration什么意思duration of a house~意思就是说从房子建立到废弃的那段时间又没有什么地道的表达方式? 东风小学5年级买4只水壶,5把扫把共用去150.5元.六年级买同样的水壶4只,扫把8把,共用182元.每只水壶(↑接上面)和每把扫把各多少元? 关于专利权的判断题,专利权人的权利不包括专利权人为发明人,设计人时表明自己发明人,设计人.是对是错?答案给的是该说法正确.但是不太明白.这句话该怎么理解?专利权人是发明人或设计 苏州园林哪些美 我会在一个牌子上写着欢迎你用英语怎么说? 为什么生理盐水可以可减轻硝酸银腐蚀性 duration是什么意思 怎么美国申请summer college?都需要什么东西?拜托各位啦~! 在HCl气体溶于水后水的体积不变的情况下,如何计算30%盐酸的密度如果是那样的化任何浓度为30%的溶液密度都是一样的了? 11-9=1+1=2 12-9=2+1=3 13-9=3+1=4 第一个加数与被减数有什么联系?第二个加数为什么都是1呢? RMIT summer course我读的是RMIT的会计,我想暑假的时候那么长,不知道能不能修一门或两门课.但听说会计在暑假的时候不会开设主课程,只有选修的.但本人的选修都结束了,很想在暑假修主课.不知 30%盐酸密度是多少? 石字为什么要加一点 A summer course为题的做英语作文,十万火急!写一篇自己经历过的暑假课程,要写出暑假课程利与弊,课程的收获.要有自己的建议与感悟!10句话左右. 我用4017做了一个双稳态电路,它会受到220V交流电影响的?我做了这个双稳态电路,不知什么原因?家里的电灯开或关都经常到它的不稳定, 11-9=1+1=2 12-9=2+1=3 13-9=3+1=4 问题是 第一个加数与被减数有什么联系? 第二个 NK细胞为什么能杀伤“异常”细胞,而不杀伤正常细胞? 用IC4017做的指示流水灯12脚要不要接电路. 英语翻译沙子大人, 四字词意思 如何用CD4017做一个四分频电路? 石加一占 什么字 表扬意思的四字词 1、If you don't like what he said,just r______.2、Although they are twins,they behave d_______.3、Two days later,the meat went bad and it produced an unpleasant s__________. 已知a^2+b^2=1 b^2+c^2=2 a^2+c^2=2 则ac+bc+ac最小值为 有哪两种意思 《了不起的盖茨比》(The great gatsby )英文精校版 TXT附件即可英文精校就行 什么格式都可以 谢 .4(m+n)^2*(m+n)^3-7(m+n)(m+n)^4+5(m+n)^5= "分外"的两种意思,谁知道 quickshe doesn't come to the party today ,she _____busyA,maybe B,may be C.must D.may a+b+c=13,a*b*c=27,b^2=ac,求a,b,c 结果的两种意思是什么 第30题快! BE QUICK! 徽章的英文是什么 指那打那、指哪打哪两种意思我想知道这两种意思的不同含义,指那打那跟指哪打哪到底有哪些地方是不一样的. quick!What does it feel like( ) hiking ( ) fine weather?A going; in soB to go; in such a C going; on so D to go ;in such(不是“feel like doing sth ”,)You haven't forgotten to pay him,have you?-____,but I'll remember _____ him tomorrow.A yes,payi 发行股票的面值收入应计入哪个会计科目中? have a quick的中文 一道初二英语题,关于反意疑问句的(quick~~)You are never too young to start doing things,( ) ( )? Something in the way,Somenthing is fade away.这个句子是什么意思 装“的”可怜巴巴还是装“得”可怜巴巴比较恰当? Be quick!We don't have e ___ time.怎么填? way什么意思 舟夜书所见--改写成文章把这首诗改写成文章,500字左右,一定要是文章 此句中course怎么理解?是选择or过程or方法还是别的意思?Suitable habitats for gray wolves have greatly diminished in area.In spite of this fact,the most sensible course would be to refrain from reestablishing gray wolves in places whe 新书曝奥巴马曾向幕僚吹嘘:我擅长杀人日空自航空展开幕 蓝色冲击波进行飞行印度北部村落遭武装分子袭击 造成7死菅义伟:处理福岛核电站事故应加强政府埃及前总统穆尔西到达受审地点 将接受新书称奥巴马曾向幕僚吹嘘:我擅长杀人普京签署《俄联邦行政违法法典》保护文突尼斯宣布将紧急状态再延长8个月 已印度将发射火星探测器 舆论对印度太空法小镇一家三个孩子同时遇害 母亲患有国际黑客袭击澳大利亚200多家网站 美垃圾桶内惊现女童焦尸 女童父亲及继法国前部长称法现任总统头号问题为总统悉尼机场设施建设被指“ 只有第三世界印尼官员警告人口暴增危险 吁政府推家eBay卖二战纳粹大屠杀时期遗物获利斯诺登:揭发情报机构监控丑闻有利于社朴槿惠时隔39年访法 会晤奥朗德磋商罗姆尼:奥巴马医保网站问题频出 有损菅义伟:处理福岛核电站事故应加强政府新书称奥巴马曾向幕僚吹嘘:我擅长杀人电动车火烧连营南邮新鲜事:开放食堂供学生看球狗预测:世界杯8强智利女优兑现赢球承诺 将与粉丝床战1世界杯看台 “伪娘”当道马云组老板团请盖茨吃饭谈慈善炎热夏季 喝绿茶清热解暑七八九月份是蛇虫活跃期 应采取适宜防用技术与服务发牌(6月21日 6月27日)“音乐小老师”欲“卫冕”水文塔上纳凉 清凉又没蚊子利济巷慰安所旧址认定为市级文保民生银行手机银行 交易量突破万亿元lost密室酒吧 芝麻开门!保利·中央公园 两天劲销1亿张军 马奔 宋宁宁 蒋一枫 陈卫君 保利礼墅蝉联城东别墅双料冠军市民赴台游再次签注立等可取山里的世界杯“捐一元”走进云南法安小“独腿”英雄,漂泊五年为备战
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘