中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁 > news >正文

微信平臺的微網(wǎng)站怎么做網(wǎng)站關(guān)鍵詞優(yōu)化培訓(xùn)

微信平臺的微網(wǎng)站怎么做,網(wǎng)站關(guān)鍵詞優(yōu)化培訓(xùn),電商網(wǎng)站開發(fā)哪家好,服務(wù)外包網(wǎng)站linux在使用重定向?qū)懭胛募r(使用標(biāo)準(zhǔn)C庫函數(shù)時)使處理信號異常(延時)–問題分析 在使用alarm函數(shù)進(jìn)行序號處理測試的時候發(fā)現(xiàn)如果把輸出重定向到文件里面會導(dǎo)致信號的處理出現(xiàn)嚴(yán)重的延遲(ubuntu18) #include <stdio.h> #include <stdlib.h> #include <unist…

linux在使用重定向?qū)懭胛募r(使用標(biāo)準(zhǔn)C庫函數(shù)時)使處理信號異常(延時)–問題分析

在使用alarm函數(shù)進(jìn)行序號處理測試的時候發(fā)現(xiàn)如果把輸出重定向到文件里面會導(dǎo)致信號的處理出現(xiàn)嚴(yán)重的延遲(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進(jìn)行計(jì)時

在這里插入圖片描述

這時候這是個時間是基本沒有誤差的

  • 出現(xiàn)問題

這時候使用命令time ./a.out > text.out把輸出的信息放到文件里面

在這里插入圖片描述

這時候就會發(fā)現(xiàn)這一個處理的時間開始不對勁了

嘗試分析

庫函數(shù)分析

#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;
}

把這一個輸出使用系統(tǒng)調(diào)用進(jìn)行

在這里插入圖片描述

這里可以看出延時少了很多

查看實(shí)際的系統(tǒng)調(diào)用

使用命令strace ./a.out > out.txt查看實(shí)際的系統(tǒng)調(diào)用

  • 庫函數(shù)版本(shell)
    在這里插入圖片描述

  • 庫函數(shù)版本(文件)
    在這里插入圖片描述

  • 系統(tǒng)調(diào)用版本(shell)
    在這里插入圖片描述

  • 系統(tǒng)調(diào)用版本(文件)
    在這里插入圖片描述

這時候可以發(fā)現(xiàn)這庫函數(shù)進(jìn)行文件寫入的時候是使用了一個緩存區(qū)4096字節(jié)

測試緩沖區(qū)大小對信號處理的影響


#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++);//不使用換行, 這時候庫函數(shù)會使用大的緩沖區(qū)}return 0;
}

在這里插入圖片描述
在這里插入圖片描述

這時候可以獲取結(jié)論這一個不是因?yàn)榫彌_區(qū)大小出現(xiàn)的, 寫入shell的時候使用的是1024的緩沖區(qū), 但是對于時間的影響不大

write函數(shù)分析

在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不是原子操作, 并且這一個是可以被信號打斷的, 并且實(shí)際測試寫shell的時候是隨時可以使用Ctrl + C打斷的, 只有在文件處理的時候會出現(xiàn)Ctrl + C無法立刻打斷這一個程序

信號處理分析

信號處理分析
從這一篇文章里面可以獲取信號處理是在從內(nèi)核態(tài)返回的時候處理的

推測結(jié)論

猜測可能是內(nèi)核在對文件處理的時候會把很多的write里面的信息合并起來處理(就算是4096處理一次從跟蹤可以看出來也是有很多次的, 如果每一處只處理一個4096不至于出現(xiàn)延時達(dá)到好幾秒的情況), 寫入shell的時候沒有進(jìn)行合并, 所以誤差比較小, 這時候由于硬盤的寫入比較慢, 數(shù)據(jù)量比較大, 需要等待IO, 會長時間處于內(nèi)核態(tài), 導(dǎo)致信號處理的延時
使用write每一次寫入的數(shù)量比較少的時候反應(yīng)比較快, 推測這一個合并可能是和write的次數(shù)也有關(guān)系

這一段僅供參考, 沒有實(shí)際查看源碼, 回頭分析源碼以后會再補(bǔ)充的

http://m.risenshineclean.com/news/65624.html

相關(guān)文章:

  • 網(wǎng)站上的鏈接怎么做的有哪些搜索引擎網(wǎng)站
  • 網(wǎng)站建設(shè)演示ppt搜索引擎營銷ppt
  • 網(wǎng)站擁有權(quán)亞馬遜seo推廣
  • 公司公司網(wǎng)站建設(shè)公司平臺推廣銷售話術(shù)
  • 網(wǎng)站統(tǒng)計(jì)源碼google關(guān)鍵詞seo
  • 長沙做網(wǎng)站的公司有哪些百度代運(yùn)營
  • 贛州seo快速霸屏短視頻優(yōu)化
  • 購物幫–做特惠的導(dǎo)購網(wǎng)站磁力bt種子搜索神器
  • 網(wǎng)站不能粘貼怎么做全國各城市疫情高峰感染進(jìn)度
  • 17網(wǎng)站一起做網(wǎng)店普寧池尾雅晨做外貿(mào)有哪些網(wǎng)站平臺
  • 怎么做網(wǎng)站和服務(wù)器嗎百度網(wǎng)絡(luò)營銷中心
  • 微信高端網(wǎng)站建設(shè)中國國家培訓(xùn)網(wǎng)官網(wǎng)
  • 北京網(wǎng)站優(yōu)化步驟百度電腦版下載官方
  • 衡水精品網(wǎng)站建設(shè)報(bào)價(jià)seo網(wǎng)站快速排名
  • 做一個網(wǎng)站需要多久網(wǎng)絡(luò)推廣崗位職責(zé)和任職要求
  • 做訂餐網(wǎng)站數(shù)據(jù)庫應(yīng)該有哪些表edm營銷
  • 合江做網(wǎng)站網(wǎng)推廣公司
  • 油金地 做網(wǎng)站品牌推廣營銷平臺
  • 音樂盒的網(wǎng)站怎么做代寫稿子的平臺
  • 深圳建站公司模板網(wǎng)絡(luò)營銷公司排行
  • 怎么制作app網(wǎng)站千萬不要去電商公司上班
  • 制作網(wǎng)站公司年收入多少百度指數(shù)關(guān)鍵詞未收錄怎么辦
  • 平安做計(jì)劃書的網(wǎng)站人力資源培訓(xùn)
  • 網(wǎng)站建設(shè)公司專業(yè)的建站優(yōu)化公司百度seo怎么優(yōu)化
  • 每月網(wǎng)站流量網(wǎng)絡(luò)營銷常用的工具
  • 加關(guān)鍵詞的網(wǎng)站石家莊網(wǎng)站seo外包
  • 上海網(wǎng)站企業(yè)軟文推廣是什么
  • 網(wǎng)站后期維護(hù)收費(fèi)熱門網(wǎng)站排名
  • 貿(mào)易網(wǎng)站建設(shè)sem投放是什么意思
  • 網(wǎng)頁制作工具的選擇與網(wǎng)站整體風(fēng)格網(wǎng)絡(luò)廣告推廣服務(wù)