中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python怎么使用多線程的方法來重新排列數組

發布時間:2022-02-23 10:06:59 來源:億速云 閱讀:209 作者:iii 欄目:開發技術

本文小編為大家詳細介紹“Python怎么使用多線程的方法來重新排列數組”,內容詳細,步驟清晰,細節處理妥當,希望這篇“Python怎么使用多線程的方法來重新排列數組”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學習新知識吧。

假設有字符數組就像'XOOOXOX',我需要重新安排這個數組一樣'XXXOOOO'。那么如何創建簡單的python代碼,使用多線程的方法來重新排列數組呢?

我就創建了一個虛擬的線程工作,這可能根本不會顯示性能提高:

import random
import threading

a = random.choices(['X', 'O'], k=10000)
a = ''.join(a)

print(a.count('X'), a.count('O'))

thread_count = 4
lock = threading.Lock()

x_count = 0
o_count = 0


def chunk_it(seq, num):
    avg = len(seq) / float(num)
    out = []
    last = 0.0

    while last < len(seq):
        out.append(seq[int(last):int(last + avg)])
        last += avg

    return out


def d(i):
    global x_count
    global o_count

    data_part = chunk_it(a, thread_count)[i]

    with lock:
        x_count += data_part.count('X')
        o_count += data_part.count('O')


ts = []
for i in range(thread_count):
    t = threading.Thread(target=d, args=(i, ))
    ts.append(t)

for t in ts:
    t.start()

for t in ts:
    t.join()

a = 'X' * x_count + 'O' * o_count
print(a)
print(a.count('X'), a.count('O'))

此演示旨在使用 Python 相對較低的線程 api 顯示。蛇的并發性由幾個模塊領導threadingmultiprocessingconcurrent.futuresasyncio等等。

讀到這里,這篇“Python怎么使用多線程的方法來重新排列數組”文章已經介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領會,如果想了解更多相關內容的文章,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

当阳市| 罗平县| 普兰店市| 岳池县| 富民县| 水城县| 凌云县| 封开县| 武城县| 福海县| 鹤峰县| 通渭县| 龙江县| 弥渡县| 永和县| 东丰县| 洛阳市| 博兴县| 宁都县| 光山县| 贵溪市| 大理市| 潮安县| 南岸区| 大埔县| 峡江县| 榆树市| 肇东市| 伊通| 石泉县| 宜城市| 磴口县| 阜南县| 汪清县| 聂拉木县| 平原县| 南郑县| 长葛市| 陇西县| 萝北县| 颍上县|