|
|
|
|
 求教思路,关于线程中执行代码的问题。 - JerryKingKing [ 2005-07-27 15:30 | 348 byte(s)]
 Re: 求教思路,关于线程中执行代码的问题。 - passworld [ 2005-07-27 17:01 | 362 byte(s)]
 Re: 求教思路,关于线程中执行代码的问题。 - JerryKingKing [ 2005-07-28 09:04 | 161 byte(s)]
|
|
|
|
[Original]
[Print]
[Top]
|
线程中,利用python的exec 来执行一段代码,但如果代码中包含print 语句 或是 Tk界面生成语句,则很容易出错并死掉。听说可以重定向print语句,但不知道如何做。又听说界面生成必须在主线程中执行,是否是这样?如果是,如何通过那段代码动态生成界面?如果不是,如何操作?
或者不使用exec而是使用别的方法?
希望各位前辈指点迷经。
|
|
|
[Original]
[Print]
[Top]
|
|
[Original]
[Print]
[Top]
|
简单是就是上锁。我好象还没碰到多线程里 print 会死的,标准输出输入底层应该锁上了吧?
Tk 应该有自己的界面上锁机制,现在谁还在用tk做界面,你自己琢磨去吧。
你还可以把那段要 exec 的代码交给图像界面的主线程去执行,比如放到一个列表里排队,然后让主线程检查这个列表,有内容就 exec 内容,然后把列表清了。
|
|
|
----
|
|
[Original]
[Print]
[Top]
|
|
[Original]
[Print]
[Top]
|
|
我的原意是,用户在我的界面上可以编写Python语句并执行,但又不影响本身界面的操作。比如用户编写语句动态修改本界面,或是执行time.sleep(n)语句时,主线程能够正常运行。
|
|
|
[Original]
[Print]
[Top]
|
|
|