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

    多进程和多线程;

    多进程:电脑有几核cpu、就只能同时运行几个进程、多个进程可以通过上下文切换进行调度。

    python里的多线程同时也只有一个线程在运行、利用不了多核cpu--全局解释器锁GLI。

    1、CPU密集型任务,用多进程  ->消耗CPU比较多
    2、IO密集型任务,用多线程  ->消耗io比较多

    1、多线程,线程之间数据是共享的

    2、多进程,每个进程之间数据是独立的

    协程,是一个线程,

    nginx也是一个线程

    多进程实现:

    multiprocessing模块,提供了一个Process类来创建进程对象。

    创建子进程时,只需要传入一个需要执行的函数和函数的参数,创建一个Process实例,用start()方法启动这个实例

    from multiprocessing import Process
    import time
    
    def coding(language):
        for i in range(5):
            print('{} coding'.format(language),end=' | ')
            time.sleep(1)
    
    if __name__ == '__main__':
        start  = time.time()
        p = Process(target=coding,args=('python',))
        p.start()
  • 相关阅读:
    SVG
    JavaScript的性能优化
    sublime长期使用的快捷键
    spring实现AOP
    java之spring
    JAVA面试题02
    java面试题01
    MyBatis之关联关系
    MyBatis之动态sql
    MyBatis之sql映射文件
  • 原文地址:https://www.cnblogs.com/whcp855/p/13167690.html
Copyright © 2011-2022 走看看