博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

Nuke中新建线程的方法

Posted on 2015-10-15 16:13  SolHe  阅读(420)  评论(0编辑  收藏  举报

最近维护合成部门的nuke工具包,发现不少工具的使用方法都很个人化,没有说明文档。这也导致artist在使用工具的时候比较感性,调整参数的时候缺少前后逻辑,长此以往,artist会产生这种意识:只要最后调出来效果ok就行,至于怎么调,是个人的事。甚至不少artist会排斥这类工具包,认为不仅用起来很困难,作用也不明显。

任何工具在充分掌握其使用方法后都是事半功倍的,这点是毋庸置疑的,前思后想,决定为每个工具都写一份说明文档。

写完后在menu.py中通过os.system(path)方法即可打开document。

但问题出现了。这个说明文档用word打开后会占用Nuke主线程,导致Nuke陷入假死状态。只有关闭word才可以解除Nuke假死。

也就是说,实际上,word与Nuke是共用同一个线程,显然这是不可接受的。于是写了一个脚本,为新打开的word程序新开一个线程。

代码块如下:

import threading:
def threading_document(path):
    thread = threading.Thread(target = os.system,args = (path,))
    thread.setDaemon(True)
    thread.start()

 

通过这个函数,就可以避开共用一个线程的bug了。