0
asyncio
とos.fork()
サブプロセス間でソケットを共有する方法を使用する必要があります。Python3でasyncioとソケットを共有するには?
data_received()
コールバックにはheavy_jobs()
関数があり、多くのCPU時間を費やします。従来の方法では
import asyncio
class EchoClientProtocol(asyncio.Protocol):
def __init__(self, message, loop):
self.message = message
self.loop = loop
def data_received(self, data):
heavy_jobs()
loop = asyncio.get_event_loop()
message = 'Hello World!'
coro = loop.create_connection(lambda: EchoClientProtocol(message, loop),
'127.0.0.1', 8000)
loop.run_until_complete(coro)
loop.run_forever()
loop.close()
、我々はサブプロセスと親の間でソケットを共有するためにfork()
を使用することができます。
bind(...);
listen(...);
pid = fork();
だから、どのように私はasyncio
で同じことを行うだろうか?
はありがとう、それは本当に便利です – hfawja