Python论坛  - 讨论区

标题:[python-chinese] (no subject)

2005年10月02日 星期日 09:03

zhaomobile at sohu.com zhaomobile at sohu.com
Sun Oct 2 09:03:54 HKT 2005

我运行了一下~~没有问题啊~
我想你所谓的"死了",应该是因为你的程序中全部都只是对类和函数进行了定义~可是你并没有调用它吧~~~
                    
 
个人愚见~有什么不对的地方~请各位大虾批评指正~谢谢~
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


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

2005年10月02日 星期日 12:52

科峰 ruankefeng at gmail.com
Sun Oct 2 12:52:12 HKT 2005

不是的,执行的代码我没贴,不过如果是程序错那只能是我贴的这段。我后来重装了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

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

2005年10月02日 星期日 18:45

limodou limodou at gmail.com
Sun Oct 2 18:45:15 HKT 2005

在 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

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

2005年10月02日 星期日 22:03

科峰 ruankefeng at gmail.com
Sun Oct 2 22:03:46 HKT 2005

现在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

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

2005年10月02日 星期日 22:05

limodou limodou at gmail.com
Sun Oct 2 22:05:46 HKT 2005

在 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

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

2005年10月02日 星期日 22:17

科峰 ruankefeng at gmail.com
Sun Oct 2 22:17:36 HKT 2005

倒是用过那个蓝蚂蚁的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

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

2005年10月02日 星期日 22:26

limodou limodou at gmail.com
Sun Oct 2 22:26:31 HKT 2005

在 05-10-2,科峰<ruankefeng at gmail.com> 写道:
> 倒是用过那个蓝蚂蚁的script.net,方便倒方便,不过他似乎很久没更新了。
> newEdit正在下,不过我倒也无所谓。反正总比在控制台玩那个该死的emacs舒服。:-)

倒是没必要对emacs这么报怨,emacs属于骨灰级玩家首选。

--
I like python!
My Donews Blog: http://www.donews.net/limodou

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

2005年10月02日 星期日 22:45

科峰 ruankefeng at gmail.com
Sun Oct 2 22:45:34 HKT 2005

你的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

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

2005年10月02日 星期日 22:50

limodou limodou at gmail.com
Sun Oct 2 22:50:27 HKT 2005

在 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

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

2005年10月02日 星期日 22:51

limodou limodou at gmail.com
Sun Oct 2 22:51:20 HKT 2005

在 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

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

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

    你的回复:

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

    Zeuux © 2025

    京ICP备05028076号