- 主函数中实例化一个类对象,利用多线程调用时,类对象的元素会被修改。为保证类对象在每个线程中的独立性,可通过threading.local函数实现。代码如下
thread_local = threading.local()
def get_method(pvid):
if not hasattr(thread_local, "cropObj"):
thread_local.cropObj = LabelCrop()
loginfo.info(pvid + '\tInit cropObj')
return thread_local.cropObj
def img_cut(imginfos, pvid): #不同线程调用的同一个主程序
cropObj = get_method(pvid)