先说环境,win10 系统,1903,Python3.7.4 64 位,没有用第三方库,同样的代码在 windows (本机)上和 linux 上运行结果不一样,时间差的太大了。补充 linux 环境,Ubuntu 18.04.3 LTS,4.15.0-58-generic,Python3.6.8 64 位。
ps:windows 上 3.6.8 我也试了,还是一样的结果
然后上代码
# -*- coding: utf-8 -*-
import random
import string
import threading
import time
import multiprocessing
queue = multiprocessing.Queue()
def get_str():
s = string.digits + string.ascii_letters
while True:
if queue.qsize() < 10000:
for _ in range(10000):
aaa = ''.join([random.choice(s) for _ in range(random.randint(20, 50))])
queue.put(aaa)
def get_data(queue):
print('insert')
while True:
if queue.qsize() == 0:
time.sleep(2)
continue
start &#