码迷,mamicode.com
首页 > 编程语言 > 详细

GIL线程与进程选择

时间:2018-06-18 23:19:03      阅读:163      评论:0      收藏:0      [点我收藏+]

标签:odi   run   计算   5.6   start   for   time   art   多线程   

#!/usr/bin/env python
# encoding: utf-8  
# Date: 2018/6/18


# 计算密集型。应该启动多进程
# from multiprocessing import Process
# from threading import Thread
# import os, time
#
#
# def work():
#     res = 0
#     for i in range(100000000):
#         res *= i
#
#
# if __name__ == ‘__main__‘:
#     l = []
#     print(os.cpu_count())  # 8
#     start = time.time()
#     for i in range(8):
#         # p = Process(target=work)  # 耗时10秒多
#         p = Thread(target=work)  # 耗时45.689270973205566
#         l.append(p)
#         p.start()
#     for p in l:
#         p.join()
#     stop = time.time()
#     print(‘run time is %s ‘ % (stop - start))

# io密集型,应该使用多线程
from multiprocessing import Process
from threading import Thread
import os, time


def work():
    time.sleep(2)


if __name__ == ‘__main__‘:
    l = []
    # print(os.cpu_count())  # 8
    start = time.time()
    for i in range(400):
        p = Process(target=work)  # 12.44145154953003
        # p = Thread(target=work)  # 耗时2.0456738471984863
        l.append(p)
        p.start()
    for p in l:
        p.join()
    stop = time.time()
    print(‘run time is %s ‘ % (stop - start))

GIL线程与进程选择

标签:odi   run   计算   5.6   start   for   time   art   多线程   

原文地址:https://www.cnblogs.com/fmgao-technology/p/9196601.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!