我有2个线程,线程A和线程B.如何在Python中使用管道文件描述符时检查EOF?
线程A从sys.stdin或管道的读取结束(使用os.pipe())获取数据。无论读取什么数据(从sys.stdin或管道的读取端),都会通过TCP套接字发送出去。线程A使用select.select()来确定它是应该从sys.stdin还是从管道的读取端读取,并且select.select()使用1秒超时来定期检查并确保套接字连接是还在那儿。
线程B持有管道的写入结束,并且通常只会将1个真正长的字符串写入管道,然后关闭写入结束。
线程A如何检查管道上的EOF?基本上,我希望线程A在不再使用时关闭管道。但是,我不能冒险阻塞从管道读取(),因为然后sys.stdin上可用的数据将被不必要地阻止。
任何帮助将不胜感激。谢谢!
谢谢,这非常有用。线程B比我提到的要多,不能删除;我只是试图简化我的程序,以便我只提供足够的信息让某人回答我的问题。再次感谢! – pcd6623 2010-07-21 20:49:30