2012-09-21 30 views
0

我正在寫一個小型客戶端/服務器演示,在對等端之間共享文件。一個peer從主服務器獲得一個ip地址列表,主線程爲每個文件創建一個線程。過程是這樣的:在這種情況下處理pthread通信/信號的正確方法是什麼?

  • 主線程獲取的文件列表從服務器爲每個文件(分離)
  • 在每個創建的線程創建
  • 線程,連接到指定/與文件
  • 相關的同齡人
  • 線程下載以塊的文件
  • 線程宣佈文件完整

我的問題進場時tryi ng來「查詢」一個線程。在每個線程中,我都會跟蹤轉移的進度。在我的主線程中,我希望用戶能夠看到發生的所有傳輸的進度。最好的辦法是什麼?我正在考慮使用pthread_kill分別向每個線程發送一個信號,雖然看起來應該有更好的方法。如果有人有想法,我很樂意聽到它。

回答

1

當您創建線程,包括void *指向任何你希望。在你的榜樣,你可以聲明進度值的數組,其中一人的地址傳遞給你創建每個線程,讓線程中執行一個簡單的更新時,它需要和你的主線程可以定期檢查的值。

如果您已經使用了一些參數,你需要創建包含這一新的價值,不管你已經在使用的結構,所以線程獲得它所需要的一切通過它的地址。

+0

好主意....也簡單!謝謝! –

相關問題