Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/342.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何将数据从一个异步IO对象共享到另一个异步IO对象_Python_Python 3.x - Fatal编程技术网

Python 如何将数据从一个异步IO对象共享到另一个异步IO对象

Python 如何将数据从一个异步IO对象共享到另一个异步IO对象,python,python-3.x,Python,Python 3.x,我正在学习python,我只是想做一些线程处理来增强我在这方面的知识,但是我被困在了如何编写我的想法上 我想我会有一些需要花费一些时间的异步过程,所以我将其编码如下: 异步控制器.py import asyncio async def get_something(): #io intensive task sample_data = <do something here> await asyncio.sleep(0) def start(): lo

我正在学习python,我只是想做一些线程处理来增强我在这方面的知识,但是我被困在了如何编写我的想法上

我想我会有一些需要花费一些时间的异步过程,所以我将其编码如下:

异步控制器.py

import asyncio

async def get_something():
    #io intensive task
    sample_data = <do something here>
    await asyncio.sleep(0)

def start():
    loop = asyncio.get_event_loop()
    loop.create_task(get_something())
    loop.run_forever()
def serve():
    #get async_controller sample_data
    #gets called simultaneously

def start_server():
    #start the server
    #
import async_controller
import server

def main():
    async_controller.start()
    server.start_server()

if __name__ == '__main__':
    main()
这是我的主课,开始了这两个过程

main.py

import asyncio

async def get_something():
    #io intensive task
    sample_data = <do something here>
    await asyncio.sleep(0)

def start():
    loop = asyncio.get_event_loop()
    loop.create_task(get_something())
    loop.run_forever()
def serve():
    #get async_controller sample_data
    #gets called simultaneously

def start_server():
    #start the server
    #
import async_controller
import server

def main():
    async_controller.start()
    server.start_server()

if __name__ == '__main__':
    main()
我被两件事困住了:

  • 如何在async_控制器和服务器之间共享数据
  • 我的异步控制器应该先检索数据,然后再检索服务器 是否在serve()方法中开始服务

  • 关于如何在Python中实现这一点,您有什么想法吗?我想加深我的知识,所以我尝试从这里的专家那里收集想法。

    通常是解决这类问题的方法-在一个流程中设置管道的一端,在另一个流程中设置管道的一端,并且双方都可以在方便的时候读/写管道。你说“线程\流程”-这些应该是单独的流程吗?通常是这类问题的解决方案-在一个进程中设置管道的一端,在另一个进程中设置管道的一端,并且双方都可以方便地读/写它们。您说“线程\进程”-这些是独立的进程吗?