我有一个包含电子邮件地址的文件,我想向其发送电子邮件。
我已经将工作拆分为两个
- 一个读取文件的任务
- x 发送电子邮件的其他任务
为了在第一个任务和其他任务之间进行通信,我认为使用 FIFO(感谢 posix_mkfifo(将是一个好主意,每个"发送任务"有一个 FIFO,并循环浏览它们。由于我有时需要停止脚本,因此我在每次读取后(在第一个任务中(保存地址文件的偏移量。
问题是当我关闭 FIFO 时,偏移量可能位于第 500 行(因此 500 个地址读取并通过 FIFO 发送(,但也许每个任务只处理了 5 行。 如何防止编写器端的 FIFO 关闭以停止其他任务以让他们处理队列?
我能够通过读/写打开FIFO来解决我的问题,而不仅仅是在第二个任务上读取