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

佛山做网站有哪几家wordpress网站amp

佛山做网站有哪几家,wordpress网站amp,飞天云服务器,2020最成功的网络营销设置方式 要有一片多进程能一起访问的共享内存。共享内存如何获得本文不做介绍#xff0c;请自行google。共享内存划一段大小为sizeof(pthread_mutex_t)的内存备用#xff0c;记这片内存为mutex_reserve。把这片内存初始化为全0。用pthread_mutex_t的指针mutex_p指向mutex_r…设置方式 要有一片多进程能一起访问的共享内存。共享内存如何获得本文不做介绍请自行google。共享内存划一段大小为sizeof(pthread_mutex_t)的内存备用记这片内存为mutex_reserve。把这片内存初始化为全0。用pthread_mutex_t的指针mutex_p指向mutex_reserve。构造phtread_mutex_t的初始化属性结构体pthread_mutexattr_t attr。设置attr为PTHREAD_PROCESS_SHARED。用attr初始化mutex_p指向的phtread_mutex_t。 答疑 1.用NULL初始化共享内存中的pthread_mutex_t可以吗也就是省略掉步骤4和5。 答不完全可以。不用被设置为PTHREAD_PROCESS_SHARED的attr初始化mutexmutex也能保证互斥实验表明如果进程不调用sleep()省略与不省略步骤4-5的结果是一样的没有任何两个进程同时进入临界区。但是如果有一个进程带锁休眠lock后调用sleep(1))。则它有可能使得其他进程不能再获得锁。永久阻塞在lock函数上。至于为什么我也不知道。不设置PTHREAD_PROCESS_SHARED可能还有其他不预期的事发生所以还是设置PTHREAD_PROCESS_SHARED好。 2.看到一篇博客说pthread_mutexattr_t也需要在共享内存中 答不需要。它就是mutex初始化时的一个指导这个指导在哪个位置并不重要。 3. 第二点不初始化那片内存为全0可以吗 答不可以。pthread_mutex_init有个规定那就是它init的那片内存为全0。 参考代码 #includepthread.h #includestdio.h #includeunistd.h #includefcntl.h //open #includesys/mman.h #includestring.h int id; int main() {int fdopen(test_shared_lock_a,O_RDWR|O_CREAT,0777);int resultftruncate(fd,sizeof(pthread_mutex_t)sizeof(pthread_mutexattr_t)sizeof(int)*40);pthread_mutex_t *mutex(pthread_mutex_t *)mmap(NULL,sizeof(pthread_mutex_t)sizeof(pthread_mutexattr_t)sizeof(int)*40,PROT_READ|PROT_WRITE,MAP_SHARED,fd,0);memset(mutex,0,sizeof(pthread_mutex_t)sizeof(pthread_mutexattr_t)sizeof(int)*40);int* num(int*)((char*)mutexsizeof(pthread_mutex_t)sizeof(pthread_mutexattr_t));for(int i0;i40;i){num[i]0;}pthread_mutexattr_t* attrNULL;/* 下面三行把pthread_mutexattr_t放在了共享内存中。*/// attr(pthread_mutexattr_t*)((char*)mutexsizeof(pthread_mutex_t));// pthread_mutexattr_init(attr);// pthread_mutexattr_setpshared(attr, PTHREAD_PROCESS_SHARED);/* 下面四行pthread_mutexattr_t没有放在共享内存中。*/pthread_mutexattr_t s;attrs;pthread_mutexattr_init(attr);pthread_mutexattr_setpshared(attr, PTHREAD_PROCESS_SHARED);// 上面7行如果都注释则为不使用attr初始化mutex。pthread_mutex_init(mutex,attr);//创建39个子进程。并且每个进程获得一个id。for(int i0;i39;i){idi1;int pidfork();if(pid0){break;}else{if(id39){id0;}}}//每个进程报告自己的pid。printf(%d report!\n,getpid());//if(id!0){//开始检测是否有多个进程同时进入临界区。int j1;while(j--0){printf(%d try to lock!\n,getpid());pthread_mutex_lock(mutex);printf(%d get lock\n,getpid());//拿到锁后在对应位置做标记表示自己进入临界区。num[id]1;int sum0;for(int i0;i40;i){sumnum[i];}if(sum1){printf(%d lock_failed!\n,getpid()); //如果有两个进程同时进入临界区,sum必定大于0。}else{printf(%d test_ok\n,getpid()); //如果sum为1,说明只有一个进程进入临界区。}num[id]0;sleep(1);pthread_mutex_unlock(mutex);}}}
http://www.zqtcl.cn/news/989791/

相关文章:

  • 泉州专业网站开发公司怎么免费做公司网页
  • 嵌入式软件开发前景怎么样百度官方优化指南
  • 网站访问速度优化工具网页设计模板图片大全
  • 哪里有手机网站制作公司网页设计与制作心得体会800字
  • 湖南建设厅网站首页简述网站建设的基本思路
  • 蚌埠公司做网站网站开发月薪
  • 怎么更换网站logo推荐几个没封的正能量网站
  • 开网站的宣传图片怎么做php网站建设面试
  • 哪些网站可以下载视频网站建设评价量规
  • 惠州市建设局网站网站模块设计怎么做
  • 群晖可不可以做网站用如何查询商标是否已经被注册
  • 北京欢迎你网站制作公司建设厅和应急管理厅焊工证区别
  • 如何开办网站微信公众平台号申请注册
  • 网站建设找哪个平台浦东区建设工程监督网站
  • 如何创业做网站设计公司工作室
  • 游戏网站建设多少中国煤炭建设协网站
  • 动态图表网站宁津做网站
  • 黑龙江生产建设兵团各连网站成功网站建设案例
  • 一级a做爰精免费网站肇庆网站制作软件
  • wordpress加分页北京优化生育
  • 乐至建设局网站工程项目管理软件哪个好
  • 太原公司网站建立wordpress插件直播
  • 比较有名的diy制作网站做照片视频的网站
  • 河北石家庄建设网站wordpress nginx apache
  • 上海免费网站建设品牌wordpress主题安装失败下载失败
  • 买公司的网站商城系统开发
  • 网页设计国外设计欣赏网站深夜视频在线免费
  • 做网站怎么租用服务器杭州网站建设hzyze
  • .asp 网站北京最新防疫信息
  • 网站上传用什么软件做视频教程114查询