python是多线程还是单线程_python – 为什么多线程和单线程之间没有执行时间差异...

我正在尝试学习

python语言及其概念.我写了一些代码来玩多线程.但我注意到多线程和单线程之间没有执行时间差异.

运行脚本的机器有4个核心/线程.

def get_tokens(file_name,map):

print(file_name)

counter = 0

with open(file_name,'r',encoding='utf-8-sig') as f:

for line in f:

item = json.loads(line,encoding='utf-8')

if 'spot' in item and item['sid'] == 4663:

counter+=1

if counter == 500:

break

tokens = nltk.word_tokenize(item['spot'],language='english')

for token in tokens:

if token not in map:

map[token] = 1

else:

map[token] = map[token] + 1;

start_time = time.time()

map = dict();

with ThreadPoolExecutor(max_workers=3) as executor:

for file in FileProcessing.get_files_in_directory('D:\\Raw Data'):

future = executor.submit(FileProcessing.get_tokens, file, map)

end_time = time.time()

print("Elapsed time was %g seconds" % (end_time - start_time))

原始数据中的每个文件大小都大于25 MB.所以我认为它们之间必须存在差异.但事实并非如此.为什么?我在代码或多线程概念中犯了错误吗?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值