同步操作将从 pish7/stdpython 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
import multiprocessingimport multiprocessing.connectionimport threadingimport queueimport timeimport os# from process_server import *# 工作线程class ThreadWork:#q: 通信队列#args: 传送到服务器上的元组def __init__(self, q, args):self.args = argsself.q = qself.go = True # 线程退出标识self.errorCount = 0 # 出错计数#终止线程def terminate(self):self.go = False#线程函数def run(self):while self.go:try:#创建客户端,返回一个 Connectionconn = multiprocessing.connection.Client(('127.0.0.1',15000), authkey=b"12345")conn.send(self.args)while self.go:if conn.poll():data = conn.recv()conn.close() #关闭通讯self.q.put(data)breakbreakexcept multiprocessing.AuthenticationError: #身份验证失败breakexcept ConnectionRefusedError: #[WinError 10061] 由于目标计算机积极拒绝,无法连接。self.errorCount += 1if self.errorCount < 20:continuebreak#消费者线程class ThreadConsumer:def __init__(self):self.q = queue.Queue()self.go = object() #线程退出哨兵#终止线程def terminate(self):self.q.put(self.go)#线程函数def run(self):while True:txt = self.q.get(block=True)if txt is self.go:returnprint(txt)if __name__ == "__main__":tc = ThreadConsumer()threading.Thread(target=tc.run, daemon=True).start()for i in range(10000):while True:try:tw = ThreadWork(q=tc.q, args=(i,i))threading.Thread(target=tw.run, daemon=True).start()breakexcept RuntimeError:print("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~")passinput()
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。