Пожалуйста, может ли один помочь мне, чтобы понять разницу между указанным ниже API, в ядре Linux:WorkQueue реализация в Linux Kernel
struct workqueue_struct *create_workqueue(const char *name);
struct workqueue_struct *create_singlethread_workqueue(const char *name);
Я написал модули образца, когда я пытаюсь увидеть их с помощью «PS -aef» , оба создали рабочий вопрос, но я не мог видеть никакой разницы.
я говорил http://www.makelinux.net/ldd3/chp-7-sect-6, и в соответствии с LDD3:
Если вы используете create_workqueue, вы получите workqueue, который имеет выделенный поток для каждого процессора в системе. Во многих случаях все эти потоки просто излишни; если одного рабочего потока будет достаточно, создайте вместо этого workqueue с create_singlethread_workqueue.
Но я не смог увидеть несколько рабочих потоков (каждый для процессора).
Хотя этот код может ответить на вопрос, обеспечивая дополнительный контекст относительно того, почему и/или, как этот код отвечает на вопрос улучшает долгосрочную ценность. – kayess