问题描述
单线程操作一个循环用了1.38分钟
多线程操作3次用了4.13分钟,为什么没有加快效率,瓶颈在哪里?请大神指教。
问题出现的环境背景及自己尝试过哪些方法
相关代码
// 请把代码文本粘贴到下方(请勿用图片代替代码)
def loop(new_barcode):
print new_barcode
# print '开始时间:' + time.ctime()
flag = len(r.sMember(new_barcode)) * 0.85
for gene in gene_list: # gene_list 是22万个set,每个set里面有60条数据
j = len(r.sInter(new_barcode,gene)) # r.sInter() 获取交集
if j>flag:
print new_barcode,gene,str(j)+"个相同"
# print '结束时间:' + time.ctime()
def main():
print('starting at:', time.ctime())
threads = []
nloops = range(len(new_barcode_list))
for i in nloops:
t = MyThread(loop, (new_barcode_list[i][0],), loop.__name__)
threads.append(t)
for i in nloops:
threads[i].start()
for i in nloops:
threads[i].join()
print('all DONE at:', time.ctime())
你期待的结果是什么?实际看到的错误信息又是什么?