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

做网站为什么要去工厂爱站网seo综合查询

做网站为什么要去工厂,爱站网seo综合查询,网站建设汇报评估,庆阳门户网单线程和多进程实现文件的复制#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/172141/

相关文章:

  • 可以做exe的网站邯郸做紧固件网站
  • 电子商务网站开发的说法移动端首页尺寸
  • 普通网站服务器房地产营销门户网站开发
  • 免费做公司网站wordpress文章格式
  • 制作网站教学设计金湖县城乡建设局网站
  • 微商城网站建设咨询网站做的不满意
  • 装企工长网站开发互联网营销师考试内容
  • 广州高端网站定制公司哪家好全椒县城乡规划建设局网站
  • 物流网站毕业设计论文论坛网站模板下载
  • 代理上网蜗牛精灵seo
  • 网站怎么做用qq登录接入网络舆情监测分析系统
  • 怎么把几个网站做互通wordpress 英文站
  • 建设高端网站需要多少钱wordpress检测
  • 如何学习网站建设app嘉兴建站软件
  • 驻马店市建设工程网站平面设计培训班学费一般多少百度贴吧
  • 长沙网络建设的网站免费的个人简历模板word下载
  • 网站维护简单吗wordpress绿色两栏响应式主题
  • 二手站网站怎做福州网站建设的公司哪家好
  • dw如何做网站后台佛山行业网站建设
  • 如何做网站轮播大图简单网页制作成品代码
  • 网站怎么做uc整合查企业网站
  • 网站没被收录什么原因网站排名点击工具
  • 江西南昌建设厅网站商品展示软件
  • 眼镜企业网站建设方案2015做那些网站致富
  • 创建个人网站的流程建设网站聊天室
  • cms 学校网站上海模板网站
  • 网站建设投资风险分析公司做的网站费用如何做账
  • 网站建设费用核算科目DW做的网页用网站打不开
  • wordpress标签搜索引擎嘉兴市做网站优化
  • 网站更换关键词怎么做好wordpress post fonts