每个人我都有一些关于Linux的任务的问题,我知道所有当前处于TASK_RUNNING状态的任务都是在一个叫做runqueue的数据结构中,但是那些正在等待某个事件的任务呢(不是TASK_RUNNING的状态,例如正在等待键盘输入的状态)。对于这样的任务,我有没有其他的数据结构,或者只有通用的list of tasks?提前感谢您的解释
如果我需要共享一个multiprocessing.Queue或multiprocessing.Manager (或任何其他同步原语),那么通过在全局(模块)级别定义它们与将它们作为参数传递给在不同进程中执行的函数有什么不同吗?
例如,这里有三种可能的方法,我可以想象队列可以被共享:
# works fine on both Windows and Linux
from multiprocessing import Process, Queue
def f(q):
q.put([42, None, 'hello'])
def main():
q = Queue