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

期货直播室网站建设wordpress网站运行时间代码

期货直播室网站建设,wordpress网站运行时间代码,新闻门户网站建设,wordpress自动语言单线程和多进程实现文件的复制#xff08;mmap方法#xff09; mmap实现大文件的复制单线程和多进程实现文件的复制#xff08;mmap方法#xff09;一、单线程实现二、多进程实现一般文件实现方法#xff1a;1.读取#xff08;fread#xff09;要复制的文件2.写入#…单线程和多进程实现文件的复制mmap方法 mmap实现大文件的复制单线程和多进程实现文件的复制mmap方法一、单线程实现二、多进程实现一般文件实现方法1.读取fread要复制的文件2.写入fwrite目标文件mmap实现方法1.源文件和目标映射到内存空间2.memcpy进行拷贝一、单线程实现 #include cstdio #include stdio.h #include iostream #include unistd.h #include sys/types.h #include sys/stat.h #include fcntl.h #include sys/mman.h #include memory.h using namespace std;int file_size(char* filename) {struct stat statbuf;stat(filename,statbuf);int size statbuf.st_size;return size;}int main(int argc,char* argv[]) {//参数一要拷贝的文件路径名if (argv[1] ){printf(参数不能为空);exit(1);}//参数二目标文件路径名if (argv[2] ){printf(参数不能为空);exit(1);}void* s_ptr;void* o_ptr;int s_ret0,o_ret0;//打开源文件,只读模式s_ret open(argv[1],O_RDONLY);if (s_ret -1){perror(file error:);exit(1);}//目标模式没有则创建只写模式o_ret open(argv[2], O_CREAT|O_RDWR,0644);if (o_ret -1){perror(file error:);exit(1);}//获取文件大小int size file_size(argv[1]);//printf(file size: %d \n,size);//扩展目标文件ftruncate(o_ret,size);//内存映射s_ptrmmap(NULL, size, PROT_READ, MAP_PRIVATE, s_ret, 0);o_ptr mmap(NULL, size, PROT_READ|PROT_WRITE, MAP_SHARED, o_ret, 0);if (o_ptr MAP_FAILED){perror(s_ptr mmap error:);exit(1);}//关闭文件描述符close(s_ret);close(o_ret);//实现拷贝memcpy(o_ptr,s_ptr,size);//释放映射空间munmap(s_ptr,size);munmap(o_ptr, size);return 0; }二、多进程实现 #include cstdio #include stdio.h #include iostream #include unistd.h #include sys/types.h #include sys/stat.h #include fcntl.h #include sys/mman.h #include memory.h #include sys/wait.h using namespace std;int file_size(char* filename) {struct stat statbuf;stat(filename,statbuf);int size statbuf.st_size;return size;}int main(int argc,char* argv[]) {//参数一要拷贝的文件路径名if (argv[1] ){printf(参数不能为空);exit(1);}//参数二目标文件路径名if (argv[2] ){printf(参数不能为空);exit(1);}char* s_ptr;char* o_ptr;int n 5;//创建子进程的个数int s_ret0,o_ret0;int i0;//打开源文件,只读模式s_ret open(argv[1],O_RDONLY);if (s_ret -1){perror(file error:);exit(1);}//目标模式没有则创建只写模式o_ret open(argv[2], O_CREAT|O_RDWR,0644);if (o_ret -1){perror(file error:);exit(1);}//获取文件大小int size file_size(argv[1]);//printf(file size: %d \n,size);//扩展目标文件ftruncate(o_ret,size);//内存映射s_ptr(char*)mmap(NULL, size, PROT_READ, MAP_PRIVATE, s_ret, 0);o_ptr (char*)mmap(NULL, size, PROT_READ|PROT_WRITE, MAP_SHARED, o_ret, 0);if (o_ptr MAP_FAILED){perror(s_ptr mmap error:);exit(1);}//关闭文件描述符close(s_ret);close(o_ret);//实现拷贝int each_size size / n;int last_size size - (n * each_size);pid_t pid;//循环创建子进程for (i 0; i n; i){pid fork();if (pid 0){break;//子进程退出循环}}if (n i)//主进程{sleep(i);memcpy(o_ptr i * each_size, s_ptr i * each_size, last_size);waitpid(-1,NULL, WNOHANG);}else{sleep(i);memcpy(o_ptr i * each_size, s_ptr i * each_size, each_size);}//释放映射空间munmap(s_ptr,size);munmap(o_ptr, size);return 0; }不完美的地方 主进程只是采用sleep函数来避免子进程变成僵尸进程用信号的方式可以改进。
http://www.pierceye.com/news/435777/

相关文章:

  • 国外品牌设计网站中华始祖堂室内设计
  • 建设网站服务无极最新招聘
  • 广东省建设教育协会是什么网站揭东建设局网站
  • 那家专门做特卖的网站godaddy 搭建网站
  • 网络舆情处置的五个步骤新人学会seo
  • 网站开发要做什么在线网页转pdf
  • 购物网站开发教程中文如何调整wordpress页面的顺序
  • 网站网页设计制作教程成都外贸seo
  • 网站开发的资料设备英国搜索引擎
  • 什么样企业需要网站建设网络规划毕业设计
  • 广东制作公司网站和谐校园网站建设
  • 找潍坊做网站的h5用什么软件做的
  • 南宁网站推广费用0505网页制作与网站建设
  • 2345电视剧网站免费电子营业执照
  • 河北省沧州建设厅网站怎样保存网站资料 做证据
  • 网站同时做竞价和优化可以吗做网站游戏推广赚钱吗
  • 台州建站模板搭建上海远程教育网站设计与开发公司
  • 网站如何做淘客类似58同城分类信息网站开发
  • 网站源码文件安装教程苏州网站建设致宇
  • 免费注册域名网站知乎做网站做图电脑需要什么配置
  • 高埗做网站营销策略分析包括哪些内容
  • wordpress获取站点链接网站门户
  • flashxml网站模板网站后期培训机构全国排名
  • 企业网站设计网站页面设计中为什么要有优先级排列
  • 暗网是什么网站滨江区网站开发公司
  • 南京网站排名优化费用株洲58同城网站建设电话
  • 电子商务网站建设与管理理解上海网站推广企业
  • 设计师网站pintsetseo短视频网页入口引流免费
  • 个人如何注册微信公众号怎么创建网站优化的意义
  • 网站换空间要重新备案吗百度人工电话