当前位置: 首页 > news >正文

阿里巴巴国际网站首页视频怎么做sql网站开发

阿里巴巴国际网站首页视频怎么做,sql网站开发,自我建设外贸网站,个人 网站建设文章目录 一、锁的原理过程1#xff1a;过程2过程3过程4 二、 锁的简单封装1.LockGuard.hpp2.使用1.正常锁的使用2.使用封装后的 总结 一、锁的原理 为了实现互斥锁操作,大多数体系结构都提供了swap或exchange指令,该指令的作用是把寄存器和内存单元的数据相交换,由于只有一条… 文章目录 一、锁的原理过程1过程2过程3过程4 二、 锁的简单封装1.LockGuard.hpp2.使用1.正常锁的使用2.使用封装后的 总结 一、锁的原理 为了实现互斥锁操作,大多数体系结构都提供了swap或exchange指令,该指令的作用是把寄存器和内存单元的数据相交换,由于只有一条指令,保证了原子性,即使是多处理器平台,访问内存的 总线周期也有先后,一个处理器上的交换指令执行时另一个处理器的交换指令只能等待总线周期。 锁其实也属于共享资源因为可以被所有线程看到但锁的申请与销毁是具有原子性的下面我们看一下原理 过程1 过程2 过程3 过程4 本质把一个共享的锁让一个线程以一条汇编的方式交换到自己的硬件上下文中 二、 锁的简单封装 1.LockGuard.hpp class Mutex{ public: Mutex(pthread_mutex_t *lock) :lock_(lock){}void Lock(){pthread_mutex_lock(lock_); }void Unlock(){pthread_mutex_unlock(lock_); }~Mutex(){}private:pthread_mutex_t *lock_; };class LockGuard{//类似智能指针的玩法 //出了作用域自动析构 public: LockGuard(pthread_mutex_t *lock) :mutex_(lock) { mutex_.Lock(); }~LockGuard(){mutex_.Unlock(); } private : Mutex mutex_; };2.使用 #includeiostream#includeunistd.h#includepthread.h#includestring#includevector#includeLockGuard.hppusing namespace std;#define NUM 4pthread_mutex_t lock;class threadData{ public:threadData(int number){threadnamethread-to_string(number);} public: string threadname;};int ticket300;void *getTicket(void*args){threadData*tdstatic_castthreadData*(args);const char*nametd-threadname.c_str();while(true){pthread_mutex_lock(lock);if(ticket0){usleep(1000);printf(who%s get ticket :%d \n ,name ,ticket);ticket--;pthread_mutex_unlock(lock);}else {pthread_mutex_unlock(lock);break;}usleep(13);}printf(%s.....quit,name);return nullptr; }int main(){vectorpthread_t tids;vectorthreadData * thread_datas;for (int i 1; i NUM; i){pthread_t tid;threadData *td new threadData(i);thread_datas.push_back(td);pthread_create(tid, nullptr, getTicket, thread_datas[i - 1]);tids.push_back(tid);}for(auto thread:tids){pthread_join(thread,nullptr);}for (auto td:thread_datas){delete td;}return 0; }1.正常锁的使用 2.使用封装后的 总结 1.申请锁和释放锁本身就被设计成了原子性操作 2.当线程访问临界区的过程对于其他线程是原子的对于其他线程来讲一个线程要么没有锁要么释放锁。 3.在临界区中线程可以被切换在线程被切出去的时候是持有锁被切走的我不在期间你们没有锁照样不能访问临界资源 4.线程独立的资源线程的栈和线程的硬件上下文
http://www.pierceye.com/news/952856/

相关文章:

  • 网站域名在山东备案却在苏州产教融合信息门户网站建设方案
  • 南京网站网站建设传奇网页
  • 网站后台更新怎么做详情页怎么设计
  • 网站怎么做导航wordpress付费破解
  • 宁津网站建设国内免费设计素材网站
  • 泰安有口碑的企业建站公司二手汽车手机网站模板
  • 网站百度快照怎么做网站调用谷歌地图
  • 扫描二维码进入公司网站怎样做代做关键词收录排名
  • flash美食网站论文架设一个网站需要多少钱
  • 做教育视频网站用什么平台好wordpress文章 代码块
  • 网站 部署 域名深圳网站建设yuntianxia
  • 做调查的网站推荐移动端网站开发教程
  • 上海品牌网站建设公司排名女生学网络营销这个专业好吗
  • 优质的邵阳网站建设企业邮箱免费登录入口
  • 网站做seo多少钱wordpress点击分类目录空白
  • 黄埔网站建设 信科网络中国企业商铺网
  • 济南快速网站排名网站开发模板系统
  • 厦门市app开发网站建设公司亚马逊雨林在地图上的位置
  • qq空间个人网站网页设计作业个人简历代码怎么写
  • 宁波网站建设团队微信网页制作的软件
  • 社区网站推广方案百度直播推广
  • 上海网站seo诊断吉林网站优化
  • 玉田网站建设做重视频网站
  • 发放淘宝优惠券的网站怎么做网站建设理论依据
  • 信用渭南网站建设做网站实例
  • 南通做百度网站的公司哪家好公司网站建站流程
  • 北京微信网站建设费用知识问答网站开发
  • 网站建设的博客做外国网用哪些网站
  • 网站两侧广告口碑营销的案例及分析
  • 有什么手机网站wordpress 编辑器增加翻译按钮