Python论坛  - 讨论区

标题:[python-chinese] 我对 Python 多线程的一点理解!

2005年05月27日 星期五 10:22

Carambo qutr at tjub.com.cn
Fri May 27 10:22:46 HKT 2005

python-chinese :

  大家好!

Python的线程是由Python的“全局解释器锁”(Global Interpreter Lock, GIL)来控制的,如果一个程序中包含多个正在运行的线程,他们将根据指定的时间间隔依次进入和离开解释器。GIL在每一时刻只运行一个线程,GIL每次可用时,都会有单个线程包含着他。(以上是《Python编程经典》上的一段摘录)
 
按照这样的理解,就是说如果我的程序里有一个主线程和两个子线程,当主线程运行时启动两个子线程,当其中的一个子线程里有一个死循环时那么他永远处于running状态,那么这时候GIL得不到释放,那么另一个子线程也就得不到GIL他就永远运行不起来。从这一点上说,Python的线程是有问题的。我在实际的项目中确实碰到过这个问题。
 
不知道大家是怎么看的,谁能帮我更好的理解一下?




Carambo , qutr at tjub.com.cn 
2005-5-27 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.exoweb.net/pipermail/python-chinese/attachments/20050527/c92a45c1/attachment.html

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2005年05月27日 星期五 10:55

Neo Chan neo.chen at achievo.com
Fri May 27 10:55:25 HKT 2005

 

我用过线程,没有你说的问题。。。不过我没有回过死循环。。:)

我认为线程之间是分时的。分配时间。。即使他是while 1: 也会让他sleep一下。。去运行 下一个线程。。

 

如果你的问题不能解决。。你可以用另一种方法。。就是fork进程。。两个进程是不会出现你说的情况的。。

  _____  

From: python-chinese-bounces at lists.python.cn [mailto:python-chinese-bounces at lists.python.cn] On Behalf Of Carambo
Sent: Friday, May 27, 2005 10:23 AM
To: python-chinese
Subject: [python-chinese] 我对 Python 多线程的一点理解!

 

python-chinese :

  大家好!

 

Python的线程是由Python的“全局解释器锁”(Global Interpreter Lock, GIL)来控制的,如果一个程序中包含多个正在运行的线程,他们将根据指定的时间间隔依次进入和离开解释器。GIL在每一时刻只运行一个线程,GIL每次可用时,都会有单个线程包含着他。(以上是《Python编程经典》上的一段摘录)

 

按照这样的理解,就是说如果我的程序里有一个主线程和两个子线程,当主线程运行时启动两个子线程,当其中的一个子线程里有一个死循环时那么他永远处于running状态,那么这时候GIL得不到释放,那么另一个子线程也就得不到GIL他就永远运行不起来。从这一点上说,Python的线程是有问题的。我在实际的项目中确实碰到过这个问题。

 

不知道大家是怎么看的,谁能帮我更好的理解一下?

 

 

 

 

Carambo, qutr at tjub.com.cn qutr at tjub.com.cn> 

2005-5-27 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.exoweb.net/pipermail/python-chinese/attachments/20050527/5ca72d15/attachment.htm

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

如下红色区域有误,请重新填写。

    你的回复:

    请 登录 后回复。还没有在Zeuux哲思注册吗?现在 注册 !

    Zeuux © 2025

    京ICP备05028076号