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

免费开源企业网站程序wordpress邮箱插件

免费开源企业网站程序,wordpress邮箱插件,深圳网站制作的公司深圳app开发,大型网站开发前端准备读写锁 读写锁有3 种状态#xff1a;读模式下的加锁状态、写模式下的加锁状态和不加锁状态#xff0c;一次只有一个线程可以占有写模式的读写锁#xff0c;但是可以有多个线程同时占有读模式的读写锁。因此可知#xff0c;读写锁比互斥锁具有更高的并行性#xff01; 读…读写锁 读写锁有3 种状态读模式下的加锁状态、写模式下的加锁状态和不加锁状态一次只有一个线程可以占有写模式的读写锁但是可以有多个线程同时占有读模式的读写锁。因此可知读写锁比互斥锁具有更高的并行性 读写锁的规则 读写锁有如下两个规则 当读写锁处于写加锁状态时在这个锁被解锁之前所有试图对这个锁进行加锁操作不管是以读模式加锁还是以写模式加锁的线程都会被阻塞。 当读写锁处于读加锁状态时所有试图以读模式对它进行加锁的线程都可以加锁成功但是任何以写模式对它进行加锁的线程都会被阻塞直到所有持有读模式锁的线程释放它们的锁为止。 虽然各操作系统对读写锁的实现各不相同但当读写锁处于读模式加锁状态而这时有一个线程试图以写模式获取锁时该线程会被阻塞而如果另一线程以读模式获取锁则会成功获取到锁对共享资源进行读操作。 所以读写锁非常适合于对共享数据读的次数远大于写的次数的情况。当读写锁处于写模式加锁状态时它所保护的数据可以被安全的修改因为一次只有一个线程可以在写模式下拥有这个锁当读写锁处于读模式加锁状态时它所保护的数据就可以被多个获取读模式锁的线程读取。所以在应用程序当中使用读写锁实现线程同步当线程需要对共享数据进行读操作时需要先获取读模式锁对读模式锁进行加锁当读取操作完成之后再释放读模式锁对读模式锁进行解锁当线程需要对共享数据进行写操作时需要先获取到写模式锁当写操作完成之后再释放写模式锁。 读写锁也叫做共享互斥锁。当读写锁是读模式锁住时就可以说成是共享模式锁住。当它是写模式锁住时就可以说成是互斥模式锁住。 代码 #include stdlib.h #include unistd.h #include pthread.h #include stdio.h//共享的数据 int count 0;//定义读写锁 pthread_rwlock_t rwlock;void *th_write(void *arg) {int temp;int i (int)arg;while(1){temp count;usleep(1000);//加写锁pthread_rwlock_wrlock(rwlock);//对共享资源count进行写操作printf(***write %d: %lu count%d count%d\n,i,pthread_self(),temp,count);//解锁pthread_rwlock_unlock(rwlock);usleep(9000);}return NULL; }void *th_read(void *arg) {int i (int)arg;while(1){//加读锁pthread_rwlock_rdlock(rwlock);//对共享资源count进行写操作printf(---read %d: %lu :%d\n,i,pthread_self(),count);//解锁pthread_rwlock_unlock(rwlock);usleep(9000);}return NULL; }int main() {int i;pthread_t thread[8];//初始化读写锁pthread_rwlock_init(rwlock,NULL);//创建3个写线程for(i 0;i 3;i){pthread_create(thread[i],NULL,th_write,(void*)i);}//创建5个读线程for(i 3;i 8;i){pthread_create(thread[i],NULL,th_read,(void*)i);}//阻塞回收线程for(i 0;i 8;i){pthread_join(thread[i],NULL);}//销毁读写锁pthread_rwlock_destroy(rwlock);return 0;}
http://www.hkea.cn/news/14313930/

相关文章:

  • 上海黄金网站设计浅谈旅游网站的规划与建设
  • 网站开发系统计划书wordpress 搭建网站
  • 怎么备份网站模板网站建设为什么要全款
  • 在一个网站上面发布广告怎么做做网站实验报告
  • 演讲网站开发背景营销推广型网站价格
  • 梅林做网站wordpress 宅男猫网站
  • 如何在建设银行网站查验回单静态网站更新文章麻烦
  • 网站设计实训心得做网站 租服务器
  • 怎么查询公司网站备案网站备案 电信
  • 做外贸什么网站比较好做无锡个人网站制作
  • a站是啥wordpress模版post.php
  • 楚雄网站开发微软网站做u盘启动教程
  • 免费简单门户网站开发网站页面策划模板下载
  • 汕头个人网站建设图片转链接在线转换
  • 适合html初学者做的网站个人主页怎么找
  • 建网站哪个公司好厦门模板建站系统
  • 企业网站优化服务主要围绕哪些要素?为什么?建个网站有什么用
  • 山东省住房和城乡建设厅注册中心网站优化大师win10能用吗
  • 广州网站公司建设网站广州建外贸网站
  • 外贸企业网站对外贸的重要性大学 英文网站建设
  • 做盗版视频网站成本多少钱vs2015做简单网站
  • 网站设计工程师重庆网站建站系统平台
  • 做网站可以用中文域名备案嘛科普网站建设方案书
  • 网站的联网信息怎么填长沙做网站费用
  • 最专业的营销网站建设价格建下载网站
  • 做四级题目的网站高明顺德网站建设
  • 卡盟网站制作教程附近的小程序怎么开通
  • 服装行业网站建设及推广广州公司注册网上核名
  • 企业网站运营问题阿里云申请域名后网站
  • 如何做一个商城类型的网站wordpress魔术