0

15 個の Python スレッドを起動しましたが、top コマンドでは実行中のスレッドは 1 つしかないと表示されます。

top -p 4176、次に H と入力します

top - 23:46:56 up 46 days,  5:43,  1 user,  load average: 1.16, 1.07, 1.01
Tasks:  16 total,   **1 running**,  15 sleeping,   0 stopped,   0 zombie
Cpu(s): 29.8%us,  0.8%sy,  0.0%ni, 68.4%id,  0.9%wa,  0.0%hi,  0.0%si,  0.0%st
Mem:   8085788k total,  7944132k used,   141656k free,   140756k buffers
Swap:  7811068k total,        0k used,  7811068k free,  6902536k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
29771 scraping  20   0  341m 148m 3460 S 16.6  1.9  27:46.68 python
29760 scraping  20   0  341m 148m 3460 S 16.3  1.9  27:45.82 python
29768 scraping  20   0  341m 148m 3460 S  9.0  1.9  28:15.11 python
29767 scraping  20   0  341m 148m 3460 S  8.7  1.9  27:47.97 python
29770 scraping  20   0  341m 148m 3460 R  8.0  1.9  28:05.83 python
29758 scraping  20   0  341m 148m 3460 S  7.7  1.9  28:02.30 python
29761 scraping  20   0  341m 148m 3460 S  7.0  1.9  27:40.68 python
29759 scraping  20   0  341m 148m 3460 S  6.7  1.9  28:21.71 python
29763 scraping  20   0  341m 148m 3460 S  5.7  1.9  28:11.03 python
29769 scraping  20   0  341m 148m 3460 S  5.7  1.9  27:59.36 python
29757 scraping  20   0  341m 148m 3460 S  4.3  1.9  28:01.46 python
29762 scraping  20   0  341m 148m 3460 S  4.0  1.9  28:03.70 python
29765 scraping  20   0  341m 148m 3460 S  4.0  1.9  27:37.34 python
29766 scraping  20   0  341m 148m 3460 S  1.0  1.9  28:05.28 python
29764 scraping  20   0  341m 148m 3460 S  0.3  1.9  27:44.07 python
 4761 scraping  20   0  341m 148m 3460 S  0.0  1.9   0:00.61 python

実行中のタスクが 15/16 ではなく 1 つしかない理由を知りたいですか?

どうもありがとう。

4

2 に答える 2

3

topCPythonでは、* nixのスレッドはpthreadを使用して実装され、top / htopなどを使用すると、そうでない場合でも、別々のプロセスであるかのように表示されます(15個のpythonプロセスの実行と15個のpythonスレッドおよび出力の実行には大きな違いがあります)ここでは誤解を招く可能性があります)。

GILが原因で実行されているのは1つだけです。CPythonでは、各インタープリターで一度に実行される命令は常に1つだけです。

于 2012-07-17T15:57:21.730 に答える
3

それらはスレッドであり、プロセスではないためです。プロセスはオペレーティングシステムによって所有され、プロセスは複数のスレッドを持つことができます。 http://www.cafeaulait.org/course/week11/02.html

于 2012-07-17T15:49:38.830 に答える