什么时候大众传播()还不够?

2024-06-17 11:20:19 发布

您现在位置:Python中文网/ 问答频道 /正文

我发现很多线索或多或少与这个主题有关,但仍然几乎没有什么比完整的答案。。。我在征求你的意见。在

所以,我的问题是:我真的需要用两种方式与子进程通信:我必须向它的输入写入大量数据,并在运行中获取其输出。没有办法绕过它。我的子程序是著名的“跛脚”mp3编码器,输入是由我的功能产生的一个小时或更长的PCM声音,输出是mp3文件,也必须分块发送给用户,而不需要等待编码器完成。在

根据文件,大众传播()无法帮助我处理以几十或几百兆字节为单位的IPC。同时,正如我从这里学到的,从零开始创建这种方法是非常危险的,因为有很多陷阱在等待:死锁、缓冲、进程管理等等

所以,我的问题是:对于这类问题,是否有一些众所周知的解决方案:一个python库或一个真正能够解决问题的代码示例?也许至少有一篇文章或者什么东西清楚地描述了一个人在试图解决这个问题时遇到的大多数问题?在

提前谢谢你, 伊利亚。在


Tags: 文件数据答案功能主题进程方式编码器
1条回答
网友
1楼 · 发布于 2024-06-17 11:20:19

最简单的方法是把你自己的程序一分为二:一个写给LAME,另一个从LAME读写给用户。这比双向通信容易得多。在

如果这对您不起作用,我发现使用命名管道的开发比传统的管道IPC要容易得多。在测试过程中使用各种管道很容易。Nonblocking I/O in Python 3应该使访问它们更容易。在

相关问题 更多 >