2005年10月02日 星期日 09:03
我运行了一下~~没有问题啊~ 我想你所谓的"死了",应该是因为你的程序中全部都只是对类和函数进行了定义~可是你并没有调用它吧~~~ 个人愚见~有什么不对的地方~请各位大虾批评指正~谢谢~ iAdo~ ----- Original Message ----- From: 科峰 To: python-chinese at lists.python.cn Sent: Sunday, October 02, 2005 1:14 AM Subject: [python-chinese] 关于线程threading 我在看python编程金典,其中有段代码,我照书上敲入后,却运行总是死在那里,不知道什么原因,我贴出代码,是实现了一个有同步功能的整数变量: import threading class SynchronizedInteger: """Class that provides synchronized access to an integer""" def __init__( self ): """Initialize integer, buffers count and condition variable""" self.buffer = -1 self.occupiedBufferCount = 0 # number of occupied buffers self.threadCondition = threading.Condition() def set( self, newNumber ): """Set value of integer--blocks until lock acquired""" #block until lock released then acquire lock self.threadCondition.acquire() while self.occupiedBufferCount == 1: print "%s 试图写." % \ threading.currentThread ().getName() self.displayState( "缓冲满." + \ threading.currentThread().getName() + "等待." ) self.threadCondition.wait() self.buffer = newNumber self.occupiedBufferCount = 1 self.displayState( "%s 写下了 %d" % \ ( threading.currentThread().getName(), newNumber ) ) self.threadCondition.notify() self.threadCondition.release() def get( self ): """Get value of integer--blocks until lock acquired""" self.threadCondition.acquire() while self.occupiedBufferCount == 0: print "%s 试图读." % \ threading.currentThread().getName() self.displayState ( "缓冲空." + \ threading.currentThread().getName() + "等待." ) self.threadCondition.wait() tempNumber = self.buffer self.occupiedBufferCount = 0 self.displayState( "%s 读取了 %d" % \ ( threading.currentThread().getName(), tempNumber ) ) self.threadCondition.notify() self.threadCondition.release () return tempNumber def displayState( self, operation ): """Display current state""" print "%-35s %-9s%2s\n" % \ ( operation, self.buffer, self.occupiedBufferCount ) 请问上面代码有什么问题吗 -- 努力努力 -------------------------------------------------------------------------------- _______________________________________________ python-chinese list python-chinese at lists.python.cn http://python.cn/mailman/listinfo/python-chinese
2005年10月02日 星期日 12:52
不是的,执行的代码我没贴,不过如果是程序错那只能是我贴的这段。我后来重装了python, 结果运行没问题了,看来是我系统的问题。不过后来,我的python idle却整个没法运行了,出现错误说是 idle无法开始一个subprocess,或者是个人防火墙阻止了,不过我也找不到是什么防火墙。 再后来我只能卸了idle,装了activePython,真是郁闷。。 在05-10-2,zhaomobile at sohu.com <zhaomobile at sohu.com> 写道: > > > 我运行了一下~~没有问题啊~ > 我想你所谓的"死了",应该是因为你的程序中全部都只是对类和函数进行了定义~可是你并没有调用它吧~~~ > > > 个人愚见~有什么不对的地方~请各位大虾批评指正~谢谢~ > iAdo~ > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.exoweb.net/pipermail/python-chinese/attachments/20051002/9c64dd82/attachment.htm
2005年10月02日 星期日 18:45
在 05-10-2,科峰<ruankefeng at gmail.com> 写道: > 不是的,执行的代码我没贴,不过如果是程序错那只能是我贴的这段。我后来重装了python, > 结果运行没问题了,看来是我系统的问题。不过后来,我的python idle却整个没法运行了,出现错误说是 > idle无法开始一个subprocess,或者是个人防火墙阻止了,不过我也找不到是什么防火墙。 > 再后来我只能卸了idle,装了activePython,真是郁闷。。 > > 不知道你的问题是什么,看不到原因?我一直是使用官方的python,但我基本不用idle,而是用其它的编程器。 activepython我是不用的。我也有防火墙,但它与subprocess没关系。建议你还是再查一查。因为大部分如果没有这样的问题,那一般就是你的机器环境的问题。 -- I like python! My Donews Blog: http://www.donews.net/limodou
2005年10月02日 星期日 22:03
现在activePython用的倒挺顺。只是如果一段程序你执行有异常,然后你修改了一个模块,再执行,这个家伙就反应不过来,还是原来的那个错误提示,我猜想可能是因为它没把修改过的模块重新载入内存。害得我也反应不过来了,呵呵。不过这小case,我索性关了它重开,反正它开开关关也挺快的。。。 在05-10-2,limodou <limodou at gmail.com> 写道: > > 在 05-10-2,科峰<ruankefeng at gmail.com> 写道: > > 不是的,执行的代码我没贴,不过如果是程序错那只能是我贴的这段。我后来重装了python, > > 结果运行没问题了,看来是我系统的问题。不过后来,我的python idle却整个没法运行了,出现错误说是 > > idle无法开始一个subprocess,或者是个人防火墙阻止了,不过我也找不到是什么防火墙。 > > 再后来我只能卸了idle,装了activePython,真是郁闷。。 > > > > > > 不知道你的问题是什么,看不到原因?我一直是使用官方的python,但我基本不用idle,而是用其它的编程器。 > > activepython我是不用的。我也有防火墙,但它与subprocess没关系。建议你还是再查一查。因为大部分如果没有这样的问题,那一般就是你的机器环境的问题。 > > -- > I like python! > My Donews Blog: http://www.donews.net/limodou > > _______________________________________________ > python-chinese list > python-chinese at lists.python.cn > http://python.cn/mailman/listinfo/python-chinese > > > -- 努力努力 -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.exoweb.net/pipermail/python-chinese/attachments/20051002/43f790ff/attachment.html
2005年10月02日 星期日 22:05
在 05-10-2,科峰<ruankefeng at gmail.com> 写道: > 现在activePython用的倒挺顺。只是如果一段程序你执行有异常,然后你修改了一个模块,再执行,这个家伙就反应不过来,还是原来的那个错误提示,我猜想可能是因为它没把修改过的模块重新载入内存。害得我也反应不过来了,呵呵。不过这小case,我索性关了它重开,反正它开开关关也挺快的。。。 > 我建议你试试别的,不如就用我的 NewEdit ,:P http://wiki.woodpecker.org.cn/moin/NewEdit 建议从svn中下载最新的源程序。快照, 2.9版都有些老了。 -- I like python! My Donews Blog: http://www.donews.net/limodou
2005年10月02日 星期日 22:17
倒是用过那个蓝蚂蚁的script.net,方便倒方便,不过他似乎很久没更新了。 newEdit正在下,不过我倒也无所谓。反正总比在控制台玩那个该死的emacs舒服。:-) 在05-10-2,limodou <limodou at gmail.com> 写道: > > 在 05-10-2,科峰<ruankefeng at gmail.com> 写道: > > > 现在activePython用的倒挺顺。只是如果一段程序你执行有异常,然后你修改了一个模块,再执行,这个家伙就反应不过来,还是原来的那个错误提示,我猜想可能是因为它没把修改过的模块重新载入内存。害得我也反应不过来了,呵呵。不过这小case,我索性关了它重开,反正它开开关关也挺快的。。。 > > > > 我建议你试试别的,不如就用我的 NewEdit ,:P > > http://wiki.woodpecker.org.cn/moin/NewEdit > > 建议从svn中下载最新的源程序。快照, 2.9版都有些老了。 > > -- > I like python! > My Donews Blog: http://www.donews.net/limodou > > _______________________________________________ > python-chinese list > python-chinese at lists.python.cn > http://python.cn/mailman/listinfo/python-chinese > > > -- 努力努力 -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.exoweb.net/pipermail/python-chinese/attachments/20051002/b087ad87/attachment.html
2005年10月02日 星期日 22:26
在 05-10-2,科峰<ruankefeng at gmail.com> 写道: > 倒是用过那个蓝蚂蚁的script.net,方便倒方便,不过他似乎很久没更新了。 > newEdit正在下,不过我倒也无所谓。反正总比在控制台玩那个该死的emacs舒服。:-) 倒是没必要对emacs这么报怨,emacs属于骨灰级玩家首选。 -- I like python! My Donews Blog: http://www.donews.net/limodou
2005年10月02日 星期日 22:45
你的newEdit要运行python脚本还得设置python解释器的啊,它默认的是newEdit.exe...... 在05-10-2,limodou <limodou at gmail.com> 写道: > > 在 05-10-2,科峰<ruankefeng at gmail.com> 写道: > > 倒是用过那个蓝蚂蚁的script.net,方便倒方便,不过他似乎很久没更新了。 > > newEdit正在下,不过我倒也无所谓。反正总比在控制台玩那个该死的emacs舒服。:-) > > 倒是没必要对emacs这么报怨,emacs属于骨灰级玩家首选。 > > -- > I like python! > My Donews Blog: http://www.donews.net/limodou > > _______________________________________________ > python-chinese list > python-chinese at lists.python.cn > http://python.cn/mailman/listinfo/python-chinese > > > -- 努力努力 -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.exoweb.net/pipermail/python-chinese/attachments/20051002/577b341d/attachment.htm
2005年10月02日 星期日 22:50
在 05-10-2,科峰<ruankefeng at gmail.com> 写道: > 你的newEdit要运行python脚本还得设置python解释器的啊,它默认的是newEdit.exe...... > 如果你安装的是exe的话是这样的,因为exe是一个独立的环境。因此我的邮件上建议你安装 python 源代码。 -- I like python! My Donews Blog: http://www.donews.net/limodou
2005年10月02日 星期日 22:51
在 05-10-2,limodou<limodou at gmail.com> 写道: > 在 05-10-2,科峰<ruankefeng at gmail.com> 写道: > > 你的newEdit要运行python脚本还得设置python解释器的啊,它默认的是newEdit.exe...... > > > > 如果你安装的是exe的话是这样的,因为exe是一个独立的环境。因此我的邮件上建议你安装 python 源代码。 写错了,不是python源代码,而是newedit源代码,这样它就可以找到了。这样是因为NewEdit可以同时支持多个python解释器。 -- I like python! My Donews Blog: http://www.donews.net/limodou
Zeuux © 2025
京ICP备05028076号