Python论坛  - 讨论区

标题:[python-chinese] 用哪个线程函数好

2006年09月28日 星期四 14:06

cat street gamcat在gmail.com
星期四 九月 28 14:06:37 HKT 2006

ÓÐÒ»¸öthreading.Thread (target=fun, args=()).start ()
»¹ÓÐÒ»¸öthread.start_new_thread (fun, ())
ºóÒ»¸ö±È½Ï¼òµ¥,µ«ÊÇÊäÈëºó²»»áÖ±½Ó½áÊø,ÐèÒªÔÙ°´Ò»Ï¼üÅ̲ÅÐÐ,µÚÒ»¸ö¾Í¿ÉÒÔÖ±½Ó½áÊø. ÊDz»ÊÇÓÐÎÊÌâÄØ?
-------------- 下一部分 --------------
Ò»¸öHTML¸½¼þ±»ÒƳý...
URL: http://python.cn/pipermail/python-chinese/attachments/20060928/c06d6d63/attachment.html 

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

2006年09月28日 星期四 14:36

limodou limodou在gmail.com
星期四 九月 28 14:36:39 HKT 2006

On 9/28/06, cat street <gamcat在gmail.com> wrote:
> 有一个threading.Thread (target=fun, args=()).start ()
> 还有一个thread.start_new_thread (fun, ())
> 后一个比较简单,但是输入后不会直接结束,需要再按一下键盘才行,第一个就可以直接结束. 是不是有问题呢?

应该没有问题,执行完应该自动结束.你可以打印一些信息看一看执行到什么地方了.

-- 
I like python!
UliPad <>: http://wiki.woodpecker.org.cn/moin/UliPad
My Blog: http://www.donews.net/limodou

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

2006年09月28日 星期四 14:39

cat street gamcat在gmail.com
星期四 九月 28 14:39:58 HKT 2006

ÎÒµÄfunÊÇÕâÑùµÄ:
def fun ():
    print 'hi'
´ó¼Ò¿´¿´ÓÐûÓвîÒì.

2006/9/28, limodou <limodou在gmail.com>:
>
> On 9/28/06, cat street <gamcat在gmail.com> wrote:
> > ÓÐÒ»¸öthreading.Thread (target=fun, args=()).start ()
> > »¹ÓÐÒ»¸öthread.start_new_thread (fun, ())
> > ºóÒ»¸ö±È½Ï¼òµ¥,µ«ÊÇÊäÈëºó²»»áÖ±½Ó½áÊø,ÐèÒªÔÙ°´Ò»Ï¼üÅ̲ÅÐÐ,µÚÒ»¸ö¾Í¿ÉÒÔÖ±½Ó½áÊø. ÊDz»ÊÇÓÐÎÊÌâÄØ?
>
> Ó¦¸ÃûÓÐÎÊÌâ,Ö´ÐÐÍêÓ¦¸Ã×Ô¶¯½áÊø.Äã¿ÉÒÔ´òӡһЩÐÅÏ¢¿´Ò»¿´Ö´Ðе½Ê²Ã´µØ·½ÁË.
>
> --
> I like python!
> UliPad <>: http://wiki.woodpecker.org.cn/moin/UliPad
> My Blog: http://www.donews.net/limodou
> _______________________________________________
> python-chinese
> Post: send python-chinese在lists.python.cn
> Subscribe: send subscribe to python-chinese-request在lists.python.cn
> Unsubscribe: send unsubscribe to  python-chinese-request在lists.python.cn
> Detail Info: http://python.cn/mailman/listinfo/python-chinese
-------------- 下一部分 --------------
Ò»¸öHTML¸½¼þ±»ÒƳý...
URL: http://python.cn/pipermail/python-chinese/attachments/20060928/4da4e1e5/attachment-0001.html 

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

2006年09月28日 星期四 14:56

limodou limodou在gmail.com
星期四 九月 28 14:56:52 HKT 2006

On 9/28/06, cat street <gamcat在gmail.com> wrote:
> 我的fun是这样的:
> def fun ():
>     print 'hi'
> 大家看看有没有差异.
>
你的问题可能是这样的:你的主程序可能非常简单,这样在运行子线程时,主线程没有等待子线程就结束的.在一般的教程里面都使用join()来等待子线程结束.如果主线程不等待子线程结束就自行结束的话,这样出现的情况就象你说的是程序好象没有结束.简单的不使用join()也可以让主线程sleep()一段时间以确保子线程结束,你这样再试一试应该就没有问题了.所以线程同步也是很重要的.如果希望主线程结束,子线程强制结束,那需要使用Thread类,同时调用它的setDaemon(True)来保证退出即可.

-- 
I like python!
UliPad <>: http://wiki.woodpecker.org.cn/moin/UliPad
My Blog: http://www.donews.net/limodou

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

2006年09月28日 星期四 14:58

gashero harry.python在gmail.com
星期四 九月 28 14:58:06 HKT 2006

刚刚看了一些,在交互模式下确实有这个问题,但是如果写到文件中,定义一个模块就不会出问题。

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

2006年09月28日 星期四 15:12

cat street gamcat在gmail.com
星期四 九月 28 15:12:16 HKT 2006

˵µÄ¶Ô°¡,ÎÒ¾ÍÊÇÔÚ½»»¥Ä£Ê½±àµÄ,ÕâÑù¾ÍûÎÊÌâÁË!
thread.start_new_thread (fun, ()); time.sleep (0)
µ«ÄǸöjoin»¹²»»áÓÃ...

2006/9/28, limodou <limodou在gmail.com>:
>
> On 9/28/06, cat street <gamcat在gmail.com> wrote:
> > ÎÒµÄfunÊÇÕâÑùµÄ:
> > def fun ():
> >     print 'hi'
> > ´ó¼Ò¿´¿´ÓÐûÓвîÒì.
> >
> ÄãµÄÎÊÌâ¿ÉÄÜÊÇÕâÑùµÄ:ÄãµÄÖ÷³ÌÐò¿ÉÄܷdz£¼òµ¥,ÕâÑùÔÚÔËÐÐ×ÓÏß³Ìʱ,Ö÷Ïß³ÌûÓеȴý×ÓÏ߳̾ͽáÊøµÄ.ÔÚÒ»°ãµÄ½Ì³ÌÀïÃ涼ʹÓÃjoin
> ()À´µÈ´ý×ÓÏ߳̽áÊø.Èç¹ûÖ÷Ï̲߳»µÈ´ý×ÓÏ߳̽áÊø¾Í×ÔÐнáÊøµÄ»°,ÕâÑù³öÏÖµÄÇé¿ö¾ÍÏóÄã˵µÄÊdzÌÐòºÃÏóûÓнáÊø.¼òµ¥µÄ²»Ê¹ÓÃjoin
> ()Ò²¿ÉÒÔÈÃÖ÷Ïß³Ìsleep()Ò»¶Îʱ¼äÒÔÈ·±£×ÓÏ߳̽áÊø,ÄãÕâÑùÔÙÊÔÒ»ÊÔÓ¦¸Ã¾ÍûÓÐÎÊÌâÁË.ËùÒÔÏß³Ìͬ²½Ò²ÊǺÜÖØÒªµÄ.Èç¹ûÏ£ÍûÖ÷Ï߳̽áÊø
> ,×ÓÏß³ÌÇ¿ÖƽáÊø,ÄÇÐèҪʹÓÃThreadÀà,ͬʱµ÷ÓÃËüµÄsetDaemon(True)À´±£Ö¤Í˳ö¼´¿É.
>
> --
> I like python!
> UliPad <>: http://wiki.woodpecker.org.cn/moin/UliPad
> My Blog: http://www.donews.net/limodou
> _______________________________________________
> python-chinese
> Post: send python-chinese在lists.python.cn
> Subscribe: send subscribe to python-chinese-request在lists.python.cn
> Unsubscribe: send unsubscribe to  python-chinese-request在lists.python.cn
> Detail Info: http://python.cn/mailman/listinfo/python-chinese
-------------- 下一部分 --------------
Ò»¸öHTML¸½¼þ±»ÒƳý...
URL: http://python.cn/pipermail/python-chinese/attachments/20060928/e65a22a2/attachment.htm 

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

2006年09月28日 星期四 15:27

limodou limodou在gmail.com
星期四 九月 28 15:27:25 HKT 2006

On 9/28/06, cat street <gamcat在gmail.com> wrote:
> 说的对啊,我就是在交互模式编的,这样就没问题了!
> thread.start_new_thread (fun, ()); time.sleep (0)
> 但那个join还不会用...
>
join的话一般要先生成线程对象,但使用start_new_thread并不返回.所以要使用Thread()来创建线程才行.你可以查一查教程,许多都有。

-- 
I like python!
UliPad <>: http://wiki.woodpecker.org.cn/moin/UliPad
My Blog: http://www.donews.net/limodou

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

2006年09月28日 星期四 23:19

Linker Lin linkerlin88在gmail.com
星期四 九月 28 23:19:55 HKT 2006

A thread can be flagged as a ``daemon thread''. The significance of this
flag is that the entire Python program exits when only daemon threads are
left. The initial value is inherited from the creating thread. The flag can
be set with the setDaemon() method and retrieved with the isDaemon() method.

是不是反了?

On 9/28/06, limodou <limodou在gmail.com> wrote:
>
> On 9/28/06, cat street <gamcat在gmail.com> wrote:
> > 我的fun是这样的:
> > def fun ():
> >     print 'hi'
> > 大家看看有没有差异.
> >
> 你的问题可能是这样的:你的主程序可能非常简单,这样在运行子线程时,主线程没有等待子线程就结束的.在一般的教程里面都使用join
> ()来等待子线程结束.如果主线程不等待子线程结束就自行结束的话,这样出现的情况就象你说的是程序好象没有结束.简单的不使用join
> ()也可以让主线程sleep()一段时间以确保子线程结束,你这样再试一试应该就没有问题了.所以线程同步也是很重要的.如果希望主线程结束
> ,子线程强制结束,那需要使用Thread类,同时调用它的setDaemon(True)来保证退出即可.
>
> --
> I like python!
> UliPad <>: http://wiki.woodpecker.org.cn/moin/UliPad
> My Blog: http://www.donews.net/limodou
> _______________________________________________
> python-chinese
> Post: send python-chinese在lists.python.cn
> Subscribe: send subscribe to python-chinese-request在lists.python.cn
> Unsubscribe: send unsubscribe to  python-chinese-request在lists.python.cn
> Detail Info: http://python.cn/mailman/listinfo/python-chinese




-- 
Linker M Lin
linkerlin88在gmail.com
linker.m.lin在gmail.com
  ※※※※※※※※※
  ※※我思故我在※※
  ※※※※※※※※※
-------------- 下一部分 --------------
一个HTML附件被移除...
URL: http://python.cn/pipermail/python-chinese/attachments/20060928/98d0f332/attachment.htm 

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

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

    你的回复:

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

    Zeuux © 2025

    京ICP备05028076号