Python论坛  - 讨论区

标题:[python-chinese] 求助:在python多线程编程中线程的相互调用

2007年06月16日 星期六 19:58

秦川 anewrer在gmail.com
星期六 六月 16 19:58:16 HKT 2007

我在学习python多线程编程的时候,遇到一个这么样的问题:
主函数中需要不断的创建子线程,然后一些子线程需要调用别的子线程的方法,请问这个在python中能否实现?该如何做?
谢谢。

我尝试了一下threading.enumerate(),发现这个方法返回的列表不能成功调用(我采取的办法是xl =
threading.enumerate()   xl[n].方法名() )
-------------- 下一部分 --------------
一个HTML附件被移除...
URL: http://python.cn/pipermail/python-chinese/attachments/20070616/b04bc1b9/attachment.html 

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

2007年06月18日 星期一 19:26

Shao Feng sevenever在gmail.com
星期一 六月 18 19:26:04 HKT 2007

子线程需要调用别的子线程的方法?
不懂这句话什么意思,是要控制线程同步吗?


On 6/16/07, 秦川 <anewrer在gmail.com> wrote:
>
> 我在学习python多线程编程的时候,遇到一个这么样的问题:
> 主函数中需要不断的创建子线程,然后一些子线程需要调用别的子线程的方法,请问这个在python中能否实现?该如何做?
> 谢谢。
>
> 我尝试了一下threading.enumerate(),发现这个方法返回的列表不能成功调用(我采取的办法是xl =
> threading.enumerate()   xl[n].方法名() )
>
> _______________________________________________
> 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/20070618/aecc7fe8/attachment.html 

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

2007年06月18日 星期一 20:24

秦川 anewrer在gmail.com
星期一 六月 18 20:24:18 HKT 2007

  是这样的,我在尝试用python些一个C/S的程序,目的是通过TCP连接实现局域网内聊天的简单通信。
我的做法是,当客户端程序连接过来的时候,新建一个线程,开启新的TCP连接,然后发送和接收都由这个线程来进行。我遇到的问题是,如果一个连接要向另一个连接发送信息(即通过服务器中转一下),他就需要执行别的线程里面的发消息方法。

我不知道有什么办法可以直接调用。我用的蠢办法是在建立线程的时候把一个函数传递到__init__中去,然后当收到信息的时候调用该函数(有点像C#的委托啊),
这个函数中使用threading.enumerate()获得活着的线程,然后调用线程里面的方法来实现。
  我不知道这个方法是不是合适的,也不清楚标准的做法是怎么样的。希望有经验的前辈帮帮忙。谢谢。

在07-6-18,Shao Feng <sevenever在gmail.com> 写道:
>
> 子线程需要调用别的子线程的方法?
> 不懂这句话什么意思,是要控制线程同步吗?
>
-------------- 下一部分 --------------
一个HTML附件被移除...
URL: http://python.cn/pipermail/python-chinese/attachments/20070618/1238f7cb/attachment.html 

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

2007年06月19日 星期二 08:43

limodou limodou在gmail.com
星期二 六月 19 08:43:17 HKT 2007

On 6/18/07, 秦川 <anewrer在gmail.com> wrote:
>   是这样的,我在尝试用python些一个C/S的程序,目的是通过TCP连接实现局域网内聊天的简单通信。
> 我的做法是,当客户端程序连接过来的时候,新建一个线程,开启新的TCP连接,然后发送和接收都由这个线程来进行。我遇到的问题是,如果一个连接要向另一个连接发送信息(即通过服务器中转一下),他就需要执行别的线程里面的发消息方法。
>
> 我不知道有什么办法可以直接调用。我用的蠢办法是在建立线程的时候把一个函数传递到__init__中去,然后当收到信息的时候调用该函数(有点像C#的委托啊),
> 这个函数中使用threading.enumerate()获得活着的线程,然后调用线程里面的方法来实现。
>   我不知道这个方法是不是合适的,也不清楚标准的做法是怎么样的。希望有经验的前辈帮帮忙。谢谢。
>
在创建线程时将线程对象保存起来不就可以了。

-- 
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]

2007年06月19日 星期二 09:05

Neo Chen openunix在163.com
星期二 六月 19 09:05:00 HKT 2007

在linux上有管道
你创建一个管道,然后每个线程都打开它。就可以了。。

只要你向管道发信息。其它线程都可以收到。。你自己定协议.

另一程.你可开共享内存.方法和管道一样..

----- Original Message ----- 
From: "limodou" <limodou在gmail.com>
To: <python-chinese在lists.python.cn>
Sent: Tuesday, June 19, 2007 8:43 AM
Subject: Re: [python-chinese]求助:在python多线程编程中线程的相互调用


> On 6/18/07, 秦川 <anewrer在gmail.com> wrote:
>>   是这样的,我在尝试用python些一个C/S的程序,目的是通过TCP连接实现局域网内聊天的简单通信。
>> 我的做法是,当客户端程序连接过来的时候,新建一个线程,开启新的TCP连接,然后发送和接收都由这个线程来进行。我遇到的问题是,如果一个连接要向另一个连接发送信息(即通过服务器中转一下),他就需要执行别的线程里面的发消息方法。
>>
>> 我不知道有什么办法可以直接调用。我用的蠢办法是在建立线程的时候把一个函数传递到__init__中去,然后当收到信息的时候调用该函数(有点像C#的委托啊),
>> 这个函数中使用threading.enumerate()获得活着的线程,然后调用线程里面的方法来实现。
>>   我不知道这个方法是不是合适的,也不清楚标准的做法是怎么样的。希望有经验的前辈帮帮忙。谢谢。
>>
> 在创建线程时将线程对象保存起来不就可以了。
> 
> -- 
> 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

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

2007年06月19日 星期二 14:53

秦川 anewrer在gmail.com
星期二 六月 19 14:53:10 HKT 2007

谢谢,现在能工作了。原来python用起来这么方便啊.

> 在创建线程时将线程对象保存起来不就可以了。
> >
> > --
> > 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
> _______________________________________________
> 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/20070619/d31de247/attachment.htm 

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

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

    你的回复:

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

    Zeuux © 2025

    京ICP备05028076号