python 已经启动的线程 怎么往里面传参数

2015-11-08 12:35:20 +08:00
 617450941
一个类里面启动用线程启动一个函数 然后外部调用这个类中的另一个函数 这个函数再把参数传入这个线程中的函数 该怎么写 我直接调用这个启动中的线程 发现不能传
4713 次点击
所在节点    Python
11 条回复
617450941
2015-11-08 12:44:01 +08:00
提示这个 线程启动后 再次传参数 就提示这个 db thread except:
SYP
2015-11-08 12:56:15 +08:00
线程间通信。
617450941
2015-11-08 12:58:27 +08:00
@SYP 这个这么做线程间通信 比如两个线程 1 2 启动了 现在 2 线程要传一个参数给线程一里的一个函数 该怎么做
SYP
2015-11-08 13:05:49 +08:00
@617450941 可以用全局变量加锁,这个最简单,消息和 socket 也可以。
BiggerLonger
2015-11-08 15:46:57 +08:00
用队列也可以吧
limbo0
2015-11-08 17:16:53 +08:00
用 queue, 线程安全的, 比较方便
gancl
2015-11-08 17:27:56 +08:00
```
def startTheadMsg(self,msg):
#for i in range(1):
try:
t = Thread(target=msgGet, args=(self,msg))
t.start()
except Exception as inst:
log.info( str(type(inst) )+"&&&"+str(inst.args)+"###"+str(msg) )
pass
```
zaishanfeng
2015-11-08 17:30:53 +08:00
公共区域一个放一个取就 ok 了 哦 对了 别搞乱套了
KotiyaSanae
2015-11-08 19:48:18 +08:00
https://gist.github.com/SeavantUUz/68ee6cb1c59822c7d5e3
其实没什么不行的,我这里用了队列,只是好演示
owwlo
2015-11-09 14:15:52 +08:00
@617450941 可以共享下你需要应用的那部分的代码吗
wizardoz
2015-11-09 16:50:56 +08:00
python 的 queue 是线程安全的,用 queue 传递就好。
线程 A 要传递数据的时候直接 put 到 queue 里面。
线程 B 跑累了就停下来看看 queue 里面有没有数据。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/234553

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX