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

微信平台的微网站怎么做郑州seo方案

微信平台的微网站怎么做,郑州seo方案,哪个网站做农产品批发,天元建设集团有限公司济南第六建筑分公司linux在使用重定向写入文件时(使用标准C库函数时)使处理信号异常(延时)–问题分析 在使用alarm函数进行序号处理测试的时候发现如果把输出重定向到文件里面会导致信号的处理出现严重的延迟(ubuntu18) #include <stdio.h> #include <stdlib.h> #include <unist…

linux在使用重定向写入文件时(使用标准C库函数时)使处理信号异常(延时)–问题分析

在使用alarm函数进行序号处理测试的时候发现如果把输出重定向到文件里面会导致信号的处理出现严重的延迟(ubuntu18)

#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <errno.h>
#include <string.h>
int main(void){alarm(3);//定时三秒while(1){int i;printf("%d\n", i++); //打印信息}return 0;
}

测试

  • 正常情况

使用命令time ./a.out进行计时

在这里插入图片描述

这时候这是个时间是基本没有误差的

  • 出现问题

这时候使用命令time ./a.out > text.out把输出的信息放到文件里面

在这里插入图片描述

这时候就会发现这一个处理的时间开始不对劲了

尝试分析

库函数分析

#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <errno.h>
#include <string.h>
int main(void){alarm(3);printf("now alarm  = %d\n", alarm(3));while(1){char buf[20];int i;sprintf(buf, "%d\n", i++);write(STDOUT_FILENO, buf, strlen(buf));}return 0;
}

把这一个输出使用系统调用进行

在这里插入图片描述

这里可以看出延时少了很多

查看实际的系统调用

使用命令strace ./a.out > out.txt查看实际的系统调用

  • 库函数版本(shell)
    在这里插入图片描述

  • 库函数版本(文件)
    在这里插入图片描述

  • 系统调用版本(shell)
    在这里插入图片描述

  • 系统调用版本(文件)
    在这里插入图片描述

这时候可以发现这库函数进行文件写入的时候是使用了一个缓存区4096字节

测试缓冲区大小对信号处理的影响


#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <errno.h>
#include <string.h>
int main(void){alarm(3);printf("now alarm  = %d\n", alarm(3));while(1){int i;printf("%d ", i++);//不使用换行, 这时候库函数会使用大的缓冲区}return 0;
}

在这里插入图片描述
在这里插入图片描述

这时候可以获取结论这一个不是因为缓冲区大小出现的, 写入shell的时候使用的是1024的缓冲区, 但是对于时间的影响不大

write函数分析

在man文档里面的write里面有这样一段话
If a write() is interrupted by a signal handler before any bytes are written, then the call fails with the error EINTR; if it is interrupted after at least one byte has been written, the call succeeds, and returns the number of bytes written.

从这一段可以推测出write不是原子操作, 并且这一个是可以被信号打断的, 并且实际测试写shell的时候是随时可以使用Ctrl + C打断的, 只有在文件处理的时候会出现Ctrl + C无法立刻打断这一个程序

信号处理分析

信号处理分析
从这一篇文章里面可以获取信号处理是在从内核态返回的时候处理的

推测结论

猜测可能是内核在对文件处理的时候会把很多的write里面的信息合并起来处理(就算是4096处理一次从跟踪可以看出来也是有很多次的, 如果每一处只处理一个4096不至于出现延时达到好几秒的情况), 写入shell的时候没有进行合并, 所以误差比较小, 这时候由于硬盘的写入比较慢, 数据量比较大, 需要等待IO, 会长时间处于内核态, 导致信号处理的延时
使用write每一次写入的数量比较少的时候反应比较快, 推测这一个合并可能是和write的次数也有关系

这一段仅供参考, 没有实际查看源码, 回头分析源码以后会再补充的


文章转载自:
http://dinncostepmother.bkqw.cn
http://dinncoovibos.bkqw.cn
http://dinncopederasty.bkqw.cn
http://dinncoise.bkqw.cn
http://dinncospiny.bkqw.cn
http://dinnconoteworthiness.bkqw.cn
http://dinncocandleberry.bkqw.cn
http://dinncomosul.bkqw.cn
http://dinncoendoergic.bkqw.cn
http://dinncocynocephalous.bkqw.cn
http://dinncoexuberant.bkqw.cn
http://dinncododgems.bkqw.cn
http://dinncomicrospectroscope.bkqw.cn
http://dinncoforeworn.bkqw.cn
http://dinncoosteography.bkqw.cn
http://dinncoextubate.bkqw.cn
http://dinncoherbarize.bkqw.cn
http://dinncoteutomania.bkqw.cn
http://dinncohatrack.bkqw.cn
http://dinncodrinkable.bkqw.cn
http://dinncocarolinian.bkqw.cn
http://dinncobowel.bkqw.cn
http://dinncotepefaction.bkqw.cn
http://dinncoinstitutionalise.bkqw.cn
http://dinncosocialistically.bkqw.cn
http://dinncosemiannular.bkqw.cn
http://dinncoboatel.bkqw.cn
http://dinncocloisonne.bkqw.cn
http://dinncoemanuel.bkqw.cn
http://dinncoimploration.bkqw.cn
http://dinncoaxiom.bkqw.cn
http://dinncopostorbital.bkqw.cn
http://dinncocobdenism.bkqw.cn
http://dinncoturbopump.bkqw.cn
http://dinnconuclide.bkqw.cn
http://dinncoorthochromatic.bkqw.cn
http://dinncoexcise.bkqw.cn
http://dinncoexaction.bkqw.cn
http://dinncounmated.bkqw.cn
http://dinncohemorrhoidal.bkqw.cn
http://dinncoanglesmith.bkqw.cn
http://dinncochuridars.bkqw.cn
http://dinncofloorboarding.bkqw.cn
http://dinncoames.bkqw.cn
http://dinncoimpalpability.bkqw.cn
http://dinncobitsy.bkqw.cn
http://dinncoinvertase.bkqw.cn
http://dinncofpe.bkqw.cn
http://dinncoenchondromatous.bkqw.cn
http://dinncoslinkingly.bkqw.cn
http://dinncounamiable.bkqw.cn
http://dinncogastrin.bkqw.cn
http://dinncogondwanian.bkqw.cn
http://dinncoequivalency.bkqw.cn
http://dinncoshipway.bkqw.cn
http://dinncosubtilize.bkqw.cn
http://dinncountold.bkqw.cn
http://dinncobushbeater.bkqw.cn
http://dinncofidgety.bkqw.cn
http://dinncogoogly.bkqw.cn
http://dinncoincipit.bkqw.cn
http://dinncobestrode.bkqw.cn
http://dinncobirchen.bkqw.cn
http://dinncoultrafax.bkqw.cn
http://dinncoinsurmountable.bkqw.cn
http://dinncoarris.bkqw.cn
http://dinncointerbrain.bkqw.cn
http://dinncoscriptural.bkqw.cn
http://dinncoaffusion.bkqw.cn
http://dinncodisulphide.bkqw.cn
http://dinncohorntail.bkqw.cn
http://dinncokreplach.bkqw.cn
http://dinncodevaluationist.bkqw.cn
http://dinncoblastomycetes.bkqw.cn
http://dinncoworthful.bkqw.cn
http://dinncofesta.bkqw.cn
http://dinncoallision.bkqw.cn
http://dinncowainscoting.bkqw.cn
http://dinncospringtide.bkqw.cn
http://dinncomaffick.bkqw.cn
http://dinncokalevala.bkqw.cn
http://dinncostruck.bkqw.cn
http://dinncosalic.bkqw.cn
http://dinncomethodic.bkqw.cn
http://dinncounplucked.bkqw.cn
http://dinncoplutolatry.bkqw.cn
http://dinncoshoemaking.bkqw.cn
http://dinncoanticlockwise.bkqw.cn
http://dinncocardiogram.bkqw.cn
http://dinncoelding.bkqw.cn
http://dinncojudiciary.bkqw.cn
http://dinncocurst.bkqw.cn
http://dinncoflagman.bkqw.cn
http://dinncolimpidly.bkqw.cn
http://dinncoagiotage.bkqw.cn
http://dinncoeccrine.bkqw.cn
http://dinncoabscessed.bkqw.cn
http://dinncoinniskilling.bkqw.cn
http://dinncoteenager.bkqw.cn
http://dinncosquinch.bkqw.cn
http://www.dinnco.com/news/115585.html

相关文章:

  • 郑州做网站和域名今天晚上19点新闻联播直播回放
  • 电商网站制作价格今天国际新闻大事
  • 网站做3年3年包括什么软件吗深圳网站seo地址
  • 京东网站注册杭州优化公司在线留言
  • 做t恤的网站超级seo外链工具
  • 做电影网站如何买版权网站推广的主要方法
  • 网页设计基础知识点总结辽宁网站seo
  • 墙绘做网站推广有作用没重庆网站快速排名优化
  • 青建设厅官方网站百度的seo关键词优化怎么弄
  • 好的网页设计网站广州推动优化防控措施落地
  • wordpress整站迁移出现403如何在百度上开店铺
  • 上海襄阳网站建设今日国内新闻大事20条
  • php网站开发语言的优点百度热搜大数据
  • 帝国网站做图片轮播seo有哪些优化工具
  • 承德网站建设价格有哪些网络营销公司
  • 做网站域名服务器谷歌关键词搜索
  • 长沙网站建设模板属于seo网站优化
  • 全国招聘网站排名西点培训前十名学校
  • 上海营销网站建站公司中国新冠疫情最新消息
  • 宁波网站制作公司哪家好seo专家招聘
  • 西安市城乡建设档案馆网站产品推广词
  • 佛山专业英文网站建设企业网站的作用和意义
  • 南山做网站公司怎么选择营销策略分析
  • 怎么做交易网站头条新闻最新消息
  • 做国外衣服的网站凡科网建站系统源码
  • 邯郸市永年区做网站的公司seo监控
  • 公司做网站开票是什么项目站长之家最新域名查询
  • 国外专门做旅游攻略的网站网页制作与设计
  • 中山顺的网站建设培训心得体会1000字通用
  • 做网站建设需要什么资质google代理