我正在编写一个在对等点之间共享文件的小型客户端/服务器演示。一个对等点从主服务器获取一个 IP 地址列表,主线程为每个相应的文件创建一个线程。该过程如下所示:
- 主线程从服务器获取文件列表
- 为每个文件创建的线程(分离)
- 在每个创建的线程中,连接到指定/与文件关联的对等点
- 线程分块下载文件
- 线程宣布文件完成
尝试“查询”线程时,我的问题就出现了。在每个线程中,我都会跟踪传输的进度。在我的主线程中,我希望用户能够看到所有正在发生的传输的进度。最好的方法是什么?我正在考虑使用 pthread_kill 分别向每个线程发送信号,尽管似乎应该有更好的方法。如果有人有想法,我很想听听。