zoukankan      html  css  js  c++  java
  • 多进程多线程比较

    CPU密集型进程池线程池比较

    import math
    from concurrent.futures import ThreadPoolExecutor, ProcessPoolExecutor
    import time
    
    PRIMES = [112272535095293] * 100
    
    
    # 判断素数
    def is_prime(n):
        if n < 2:
            return False
        if n == 2:
            return True
        if n % 2 == 0:
            return False
        sqrt_n = int(math.floor(math.sqrt(n)))
        for i in range(3, sqrt_n+1, 2):
            if n % i == 0:
                return False
        return True
    
    
    def single_thread():
        for number in PRIMES:
            is_prime(number)
    
    
    def multi_thread():
        with ThreadPoolExecutor() as pool:
            pool.map(is_prime, PRIMES)
    
    
    def multi_process():
        with ProcessPoolExecutor() as pool:
            pool.map(is_prime, PRIMES)
    
    
    if __name__ == '__main__':
        start = time.time()
        single_thread()
        end = time.time()
        print("single_thread:", end-start)
    
        start = time.time()
        multi_thread()
        end = time.time()
        print("multi_thread:", end - start)
    
        start = time.time()
        multi_process()
        end = time.time()
        print("multi_process:", end - start)
    
    此时此刻,非我莫属
  • 相关阅读:
    jsf web.xml配置
    JSF中Filter的实现
    转码
    facelates标签
    jsf学习笔记注解
    date工具类
    js秒读功能
    w3c document 与 dom4j document转化工具类
    jsf学习笔记ui
    jsf学习笔记拦截器
  • 原文地址:https://www.cnblogs.com/taozhengquan/p/9479876.html
Copyright © 2011-2022 走看看