對於這種情況,我正在尋找一個已知的解決方案(如生產者 - 消費者問題)。多線程 - 已知的相似性解決方案
在我的情況下,有兩種選擇:
- 鏈接圖像,與鏈接圖像和鏈接到其他的文本文件
- 文本文件(其它鏈接)。
我試圖創建一個使用POSIX互斥和POSIX信號在C++一個多線程下載器(在UNIX上)。
應用程序已鏈接到第一個文本文件。
- 線程睡眠(旗語= 0)。
- 主線程下載第一個文本文件。
- 解析其他鏈接 - 將鏈接放入某個隊列(信號量=鏈接計數 - >其他線程喚醒)。
- 其他線程產生其他鏈接。
什麼主線程? 如何檢查其他線程 - 完成狀態?
使用有限隊列可能存在死鎖:文本文件包含許多鏈接(隊列與其他文本文件一樣完整)。沒有文本文件可以完成。
謝謝你的想法。
這是功課嗎? –
@JeremyFriesner不,我會嘗試爲備份圖像創建一個小工具。文本文件由我們的網站生成。 – Nanik