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

个人资质网站做推广三亚招聘网

个人资质网站做推广,三亚招聘网,猎聘网招聘官方网站,什么样的网站利于优化在 Linux C 中#xff0c;你可以使用 pthread 库来创建多线程#xff0c;并使用文件 I/O 来对文件进行读取和写入操作。以下是一个简单的示例代码#xff0c;演示如何在 C 语言中开启 8 个线程同时读取一个文件并将其分成 8 段保存到 8 个临时文件中#xff1a; #include …在 Linux C 中你可以使用 pthread 库来创建多线程并使用文件 I/O 来对文件进行读取和写入操作。以下是一个简单的示例代码演示如何在 C 语言中开启 8 个线程同时读取一个文件并将其分成 8 段保存到 8 个临时文件中 #include stdio.h #include stdlib.h #include pthread.h#define NUM_THREADS 8// 结构体用于传递参数给线程函数 struct ThreadArgs {FILE *inputFile;FILE *outputFile;size_t startOffset;size_t endOffset; };// 线程函数用于将文件分段读取并保存到临时文件中 void *readAndWriteFile(void *threadArgs) {struct ThreadArgs *args (struct ThreadArgs *)threadArgs;size_t blockSize args-endOffset - args-startOffset 1;fseek(args-inputFile, args-startOffset, SEEK_SET);char *buffer malloc(blockSize);fread(buffer, blockSize, 1, args-inputFile);fseek(args-outputFile, args-startOffset, SEEK_SET);fwrite(buffer, blockSize, 1, args-outputFile);fclose(args-outputFile);free(buffer);pthread_exit(NULL); }int main() {FILE *inputFile fopen(input.txt, r);if (inputFile NULL) {perror(Error opening input file);return 1;}// 创建 8 个临时文件FILE *outputFiles[NUM_THREADS];for (int i 0; i NUM_THREADS; i) {char filename[20];sprintf(filename, output%d.txt, i);outputFiles[i] fopen(filename, w);if (outputFiles[i] NULL) {perror(Error creating output file);return 1;}}// 计算每个线程读取的数据块大小fseek(inputFile, 0, SEEK_END);size_t fileSize ftell(inputFile);size_t blockSize fileSize / NUM_THREADS;size_t lastBlockSize fileSize - (blockSize * (NUM_THREADS - 1));pthread_t threads[NUM_THREADS];struct ThreadArgs threadArgs[NUM_THREADS];// 创建线程每个线程读取文件的一部分并保存到临时文件中for (int i 0; i NUM_THREADS; i) {threadArgs[i].inputFile inputFile;threadArgs[i].outputFile outputFiles[i];threadArgs[i].startOffset i * blockSize;threadArgs[i].endOffset (i NUM_THREADS - 1) ? (blockSize * (i1) lastBlockSize - 1) : (blockSize * (i1) - 1);pthread_create(threads[i], NULL, readAndWriteFile, (void *)threadArgs[i]);}// 等待所有线程结束for (int i 0; i NUM_THREADS; i) {pthread_join(threads[i], NULL);}printf(File divided and saved to temporary files successfully.\n);fclose(inputFile);for (int i 0; i NUM_THREADS; i) {fclose(outputFiles[i]);}return 0; } 在上面的示例中我们使用了 pthread 库来创建了 8 个线程并使用文件 I/O 对文件进行读取和写入操作将文件平均分成 8 段保存到 8 个临时文件中。在主函数中我们首先打开了输入文件然后创建了 8 个临时文件。随后计算并分配了每个线程的读取范围并创建了 8 个线程来处理文件的读取和写入操作。最后等待所有线程的执行完毕关闭所有文件并结束了程序。 要计算从 fopen 到 return 0 之间的时间你可以使用 clock() 函数来获取程序执行的 CPU 时间。此外你还可以使用 time() 函数来获取当前时间戳。以下是一个简单的示例代码演示了如何在程序中添加时间戳并计算程序执行的时间 #include stdio.h #include stdlib.h #include time.h #include pthread.h#define NUM_THREADS 8// 结构体用于传递参数给线程函数 struct ThreadArgs {FILE *inputFile;FILE *outputFile;size_t startOffset;size_t endOffset; };// 线程函数用于将文件分段读取并保存到临时文件中 void *readAndWriteFile(void *threadArgs) {// ...省略线程函数的实现 }int main() {clock_t start, end;double cpu_time_used;start clock(); // 记录程序开始执行的 CPU 时间time_t rawtime;struct tm *timeinfo;time(rawtime);timeinfo localtime(rawtime);printf(Start time: %s, asctime(timeinfo)); // 打印程序开始执行的时间FILE *inputFile fopen(input.txt, r);if (inputFile NULL) {perror(Error opening input file);return 1;}// ...省略创建临时文件和线程的代码end clock(); // 记录程序结束执行的 CPU 时间cpu_time_used ((double) (end - start)) / CLOCKS_PER_SEC;printf(CPU time used: %f seconds\n, cpu_time_used); // 打印程序执行的 CPU 时间time(rawtime);timeinfo localtime(rawtime);printf(End time: %s, asctime(timeinfo)); // 打印程序结束执行的时间fclose(inputFile);// ...省略关闭临时文件和线程的代码return 0; }在上面的示例中我们首先使用 clock() 函数记录了程序开始执行的 CPU 时间并使用 time() 函数获取了程序开始执行的时间戳并打印出来。在程序执行结束后我们再次使用 clock() 函数记录了程序结束执行的 CPU 时间并再次使用 time() 函数获取了程序结束执行的时间戳并打印出来。最后我们计算了程序执行的 CPU 时间并打印出来。
http://www.pierceye.com/news/385069/

相关文章:

  • 陕西建设网综合服务中心网站跨境电商怎么搞
  • 青岛做网站需要多少钱怎么在网上卖东西赚差价
  • 永康网站设计新闻门户网站建设方案
  • 个人做网站被骗洛阳电商网站建设公司排名
  • 蒙文网站建设情况汇报设计素材网站照片
  • 南京网站设计费用wordpress讨论
  • 可以做防盗水印的网站工业设计专业最好的大学
  • 中国flash网站模板中心温州做网站软件
  • 个人网站设计论文前言搜索引擎推广的网络营销渠道
  • 中国国家建设部网站如何做网站赚流量钱
  • wordpress 网站底部美化天津seo排名扣费
  • 网站开发PHP招聘宁波梅山建设局网站
  • 免费做一建或二建题目的网站colorway wordpress
  • 简单网站建设合同贵州省高层建筑信息平台
  • 手机网站登录模板电视剧百度风云榜
  • 一嗨租车网站建设的功能特色梅林做网站
  • 网站关于我们怎么做36氪 wordpress 模板
  • 医疗网站建设计划书菏泽手机网站建设
  • 南京外贸网站建设哪家好免费网站建站方法
  • 文化馆建设网站网架公司有哪些
  • 企业如何申请网站51网站空间相册
  • 自己电脑做网站服务器系统网站建设违约交付
  • 什么叫域名访问网站wordpress app 接口
  • 学生网站建设实训总结工信部备案号查询平台
  • 凡科建站如何制作论坛备案网站需要多久
  • 网站建设的公司哪家是上市公司专业外贸网站制作
  • 建站公司杭州免费投票网站制作
  • 网站优化公司效果网络营销毕业后做什么工作
  • 移动互联网的应用论文可以优化网络的软件
  • 网站建设软件哪个最好郑州广告设计与制作公司