[問題] 快速複製檔案
開發平台(Platform): GCC, Linux
一開始寫程式,複製檔案的寫法應該是這樣
while(!eof)
{
read(fd1, buf, BUFSIZE);
write(fd2, buf, BUFSIZE);
}
但是這樣就浪費了寫檔案的這段時間(read沒有在做事)
所以我就用兩個thread和ring buffer來改善
一個thread負責讀資料到buffer,另一個負責把資料寫到檔案
但是這樣要處理很多東西,同步的問題(mutex)
讀寫速度不一致的問題(沒資料時寫檔的thread要 block 住)
buffer快滿了的問題(讀檔的thread要 block 住)……
找了很多資料,東湊西湊的,雖然是寫出來了,但是code變的很醜,完全是三流的寫法
所以想請問一下有沒有類似的open source的linux tool可以讓我研究的
謝謝。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 122.147.141.118
※ 編輯: dbzgtgwduo 來自: 122.147.141.118 (09/11 19:21)
※ 編輯: dbzgtgwduo 來自: 122.147.141.118 (09/11 19:21)
※ 編輯: dbzgtgwduo 來自: 122.147.141.118 (09/11 19:23)
→
09/11 20:00, , 1F
09/11 20:00, 1F
→
09/11 20:01, , 2F
09/11 20:01, 2F
推
09/11 20:03, , 3F
09/11 20:03, 3F
→
09/16 21:17, , 4F
09/16 21:17, 4F
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章