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

做网站主要学什么上海装修公司排名知乎

做网站主要学什么,上海装修公司排名知乎,博客导航wordpress,wordpress缩略图不清晰怎么办三)强制性加锁的实现1)对文件加锁有两种方式:劝告性锁和强制性锁.2)劝告性锁工作时,每个进程都要对文件进行读或写之前调用lockf对文件加锁,如果一个进程忘记调用lockf,那么锁协议将会被忽视3)强制性锁工作时,它将使任何一个想要访问已被加锁的文件的进程都堵塞在读或写队列上.… 三)强制性加锁的实现  1)对文件加锁有两种方式:劝告性锁和强制性锁.  2)劝告性锁工作时,每个进程都要对文件进行读或写之前调用lockf对文件加锁,如果一个进程忘记调用lockf,那么锁协议将会被忽视  3)强制性锁工作时,它将使任何一个想要访问已被加锁的文件的进程都堵塞在读或写队列上.加锁的过程是由内核强制启动的,所以不用担心不同步的进程忽视劝告性锁.  4)程序2就是劝告性锁的典型例子,而下面的例子会演示强制性锁的使用.  mount -o remount,rw,mand /dev/sdb1 /mnt/  cd /mnt/  chmod g-x messagebuf.dat  chmod gs messagebuf.dat  修改程序2的源代码如下:  #include stdio.h  #include string.h  #include stdlib.h  #include unistd.h  #include sched.h  #include sys/wait.h  #include sys/file.h  #include sys/stat.h  const char *filename messagebuf.dat;  void error_out(const char *msg)  {  perror(msg);  exit(EXIT_FAILURE);  }  void child(void)  {  FILE *fp fopen(filename, r);  if (fp NULL)  error_out(child:fopen);  /*int r lockf(fileno(fp), F_LOCK, 0);  if (r -1)  error_out(parent:lockf);*/  char buf[32];  fread(buf,sizeof(buf), 1, fp);  if (ferror(fp))  error_out(fread);  printf(child read %s\n, buf);  }  void parent(FILE *fp)  {  fprintf(fp, %#x, getpid());  fflush(fp);  int r lockf(fileno(fp), F_ULOCK, 0);  if (r -1)  error_out(lockf:F_ULOCK);  fclose(fp);  }  int main(int argc, char *argv[])  {  int r;  int fd open(filename, O_CREAT|O_TRUNC|O_RDWR, 0666);  FILE *fp fdopen(fd, r);  if (fp NULL)  error_out(parent:fopen);  r lockf(fileno(fp), F_LOCK, 0);  if (r -1)  error_out(parent:lockf);  pid_t pid fork();  if (pid 0){  child();  exit(0);  }  else{  int status 0;  parent(fp);  wait(status);  printf(child status%d\n, WEXITSTATUS(status));  }  exit(0);  }  gcc file-ipc-better.c -o file-ipc-better  ./file-ipc-better  child read 0x9a0  child status0  我们注释掉了子进程的lockf函数的过程,这时如果没有强制锁,子进程的读操作,将会忽视父进程的lockf,而我们加了强制锁,子进程的读操作被阻塞了.  最终的结果同第二个程序一样,但我们却使用了不同的锁机制.  最后使用文件进行传递媒介就意味着你可能遇到媒介中存在的潜在不安全因素. 转载于:https://blog.51cto.com/xuanjicto/725324
http://www.pierceye.com/news/976667/

相关文章:

  • 有了主机和域名后如何做网站seo网站建站公司的主页
  • 株洲网站制作360广告联盟平台
  • 网站pv是什么意思vps开wordpress
  • 国外网站模版免费下载南通建设网站公司
  • 网站建设 广西学3d建模学费一般多少
  • 整站外包优化公司金山西安网站建设
  • 做3d动画网站广州公关公司排行榜
  • 网站开发确认表seo技术教程博客
  • 彩票网站建设一条龙淘客app
  • 泰安网站推广优化网站百度收录是什么意思
  • 免费虚拟主机控制面板长沙推广优化公司
  • 重庆企业网站建站公司建站系统
  • 规划设计网站推荐自己做采集电影网站
  • 免费学编程的网站有哪些做网站设计用什么软件
  • 网站成品超市学室内设计去哪好
  • 网站备案一个主体无锡建设银行网站
  • delphi xe10网站开发台州做网站多少钱
  • 怎样设计卖奖的网站做电影网站哪个服务器好
  • 找外包公司做网站的好处和坏处wordpress 访问量大
  • 淄博 网站设计越秀公司网站建设
  • 网站该如何做本地网站搭建软件
  • 如何做汽车团购网站学做馒头面包哪个网站好
  • 中国科技成就总结莱芜网站优化排名公司
  • 中国建设银行网站企业网银收费北京网站建设小程序开发
  • 成交型网站倡导公司网络营销课程总结1000字
  • 网站建设注册前端开发培训机构推荐
  • 遵义网站推广中国房地产app下载安装最新版
  • c语言网站建设禅城网站开发
  • 宁波品牌网站制作哪家好太平阳电脑网网站模板
  • seo网站外链工具看设计比较好的网站