每个人我都有一些关于Linux的任务的问题,我知道所有当前处于TASK_RUNNING状态的任务都是在一个叫做runqueue的数据结构中,但是那些正在等待某个事件的任务呢(不是TASK_RUNNING的状态,例如正在等待键盘输入的状态)。对于这样的任务,我有没有其他的数据结构,或者只有通用的list of tasks?提前感谢您的解释
我正在阅读“Robert的Linux内核开发第三版”,以了解Linux内核是如何工作的。(2.6.2.3)
我对等待队列的工作方式感到困惑,例如,下面的代码:
/* ‘q’ is the wait queue we wish to sleep on */
DEFINE_WAIT(wait);
add_wait_queue(q, &wait);
while (!condition) { /* condition is the event that we are waiting for */
prepare_to_wait(&q, &wait, TAS
我开始研究Python中的创建线程。我首先做了一些理论研究,以了解线程在Python中是如何工作的。我还继续阅读了有关Python中队列的使用以及它如何帮助解决微不足道的线程问题。我能够理解每个代码的不同代码。然后我看到了下面的教程:
它展示了Python中Thread和Queue的相关性,以及它如何在某些情况下加速执行过程。
我在理解代码的某些方面遇到了困难。
def main():
#spawn a pool of threads, and pass them queue instance
for i in range(5):
t