• 进程.线程.协程之间的区别?


    进程.线程.协程之间的区别?

    答:进程是计算机资源分配的最小单位,主要用于数据隔离.
    线程是计算机工作的最小单位,计算机真正工作的就是线程
    那么在一个进程中可以有多个线程而一个应用程序可以有多个进程
    他们的应用场景基本上在其他语言里应该是没有多进程这个概念的,他们都是多线程,而在Python里面其实有那么一说.
    就是在I/O操作多时,用多线程,计算密集型时,用多进程,那为什么呢?其实就是在Python内部有个GIL锁,GIL锁使得在同一时刻,
    在一个进程中只有一个线程被CPU调度,如果想利用CPU的多核优势,就是开多个进程,而开多个线程没有用,所以在计算密集型时开多进程
    因为I/O操作不占用CPU,所以I/O操作可以用多线程,以上是进程与线程的以及应用场景上的区别
    在程序员这个级别为了能够让代码变的更牛逼,就创建了协程,这个协程本来就是不存在的,是程序员创建的,
    协程本身可以让程序员人为的控制一个线程片在代码块之间切换,本身协程的存在不重要,但是要跟I/O操作结合到一起就牛逼了.
    当协程中遇到I/O操作就跳过,干其他的事,相当于让这个线程分片去执行,达到的效果就是线程一直在工作,没有停.
    那么Pyhton中在用协程的时候有个模块叫greenlet,实现协程加I/O操作的模块用gevent
    进程线程协程之间的区别大致也就这么多

  • 相关阅读:
    poj3463 Sightseeing(最短路,次短路计数)
    poj3463 Sightseeing(读题很重要)
    poj3463 Sightseeing(读题很重要)
    hdu6181 Two Paths(次短路)
    hdu6181 Two Paths(次短路)
    Tyvj1293(新姿势:次短路)
    Tyvj1293(新姿势:次短路)
    10.bitset
    9.优先队列,priority_queue
    8.queue
  • 原文地址:https://www.cnblogs.com/RootEvils/p/9682342.html
Copyright © 2020-2023  润新知