python澶氳繘绋嬪啓鍏ュ悓涓€鏂囦欢鎬庝箞瀹炵幇
鍦≒ython涓紝鍙互浣跨敤multiprocessing
妯″潡鏉ュ疄鐜板杩涚▼鍐欏叆鍚屼竴鏂囦欢銆?/p>
涓嬮潰鏄竴涓ず渚嬶紝婕旂ず浜嗗浣曚娇鐢ㄥ杩涚▼鍚屾椂鍐欏叆鍚屼竴鏂囦欢锛?/p>
import multiprocessing
# 瀹氫箟涓€涓啓鍏ユ枃浠剁殑鍑芥暟
def write_file(filename, content):
with open(filename, 'a') as f:
f.write(content)
if __name__ == '__main__':
# 瀹氫箟瑕佸啓鍏ョ殑鏂囦欢鍚嶅拰鍐呭
filename = 'output.txt'
content = 'Hello, World!\n'
# 鍒涘缓涓€涓繘绋嬫睜
pool = multiprocessing.Pool()
# 浣跨敤杩涚▼姹犳墽琛屽涓啓鍏ユ枃浠剁殑浠诲姟
for i in range(10):
pool.apply_async(write_file, args=(filename, content))
# 鍏抽棴杩涚▼姹狅紝骞剁瓑寰呮墍鏈変换鍔″畬鎴?/span>
pool.close()
pool.join()
鍦ㄤ笂闈㈢殑绀轰緥涓紝棣栧厛瀹氫箟浜嗕竴涓啓鍏ユ枃浠剁殑鍑芥暟write_file
锛岃鍑芥暟浣跨敤with
璇彞鎵撳紑鏂囦欢骞跺啓鍏ュ唴瀹广€?/p>
鐒跺悗锛屽湪涓荤▼搴忎腑锛屽垱寤轰簡涓€涓繘绋嬫睜pool
锛屽苟浣跨敤pool.apply_async
鏂规硶鏉ュ紓姝ユ墽琛屽涓啓鍏ユ枃浠剁殑浠诲姟銆?/p>
鏈€鍚庯紝浣跨敤pool.close()
鍏抽棴杩涚▼姹狅紝骞朵娇鐢?code>pool.join()绛夊緟鎵€鏈変换鍔″畬鎴愩€?/p>
杩欐牱锛屽涓繘绋嬪氨鍙互鍚屾椂鍐欏叆鍚屼竴涓枃浠朵簡銆傞渶瑕佹敞鎰忕殑鏄紝鐢变簬澶氫釜杩涚▼鍚屾椂鍐欏叆鍚屼竴鏂囦欢鍙兘浼氬甫鏉ョ珵浜夋潯浠讹紙race condition锛夛紝鍥犳闇€瑕佺‘淇濆湪鍐欏叆鏂囦欢鏃惰繘琛岄€傚綋鐨勫悓姝ユ帶鍒讹紝浠ラ伩鍏嶆暟鎹敊璇€?/p>
相关问答