Python怎么使用多线程的方法来重新排列数组
本文小编为大家详细介绍“Python怎么使用多线程的方法来重新排列数组”,内容详细,步骤清晰,细节处理妥当,希望这篇“Python怎么使用多线程的方法来重新排列数组”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。
假设有字符数组就像'XOOOXOX',我需要重新安排这个数组一样'XXXOOOO'。那么如何创建简单的python代码,使用多线程的方法来重新排列数组呢?
我就创建了一个虚拟的线程工作,这可能根本不会显示性能提高:
importrandomimportthreadinga=random.choices(['X','O'],k=10000)a=''.join(a)print(a.count('X'),a.count('O'))thread_count=4lock=threading.Lock()x_count=0o_count=0defchunk_it(seq,num):avg=len(seq)/float(num)out=[]last=0.0whilelast<len(seq):out.append(seq[int(last):int(last+avg)])last+=avgreturnoutdefd(i):globalx_countglobalo_countdata_part=chunk_it(a,thread_count)[i]withlock:x_count+=data_part.count('X')o_count+=data_part.count('O')ts=[]foriinrange(thread_count):t=threading.Thread(target=d,args=(i,))ts.append(t)fortints:t.start()fortints:t.join()a='X'*x_count+'O'*o_countprint(a)print(a.count('X'),a.count('O'))
此演示旨在使用 Python 相对较低的线程 api 显示。蛇的并发性由几个模块领导threading
,multiprocessing
,concurrent.futures
,asyncio
等等。
读到这里,这篇“Python怎么使用多线程的方法来重新排列数组”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注亿速云行业资讯频道。
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。