Maison  >  Questions et réponses  >  le corps du texte

java - python的协程是什么?和多线程有啥区别吗?

这才刚刚学完多线程,最近在知乎https://zhuanlan.zhihu.com/p/...又看到协程这个概念,但是文章讲的我不明不白,而且前面只提到了协程相比多线程的三个优点,请问协程究竟是什么?他各有什么优缺点?

高洛峰高洛峰2764 Il y a quelques jours604

répondre à tous(4)je répondrai

  • 巴扎黑

    巴扎黑2017-04-18 10:05:13

    Les coroutines sont similaires aux threads, mais les threads sont fournis par la couche inférieure du système d'exploitation, tandis que les coroutines sont fournies par la plateforme elle-même.
    Les coroutines sont basées sur des threads. La couche inférieure d'une bibliothèque de coroutines est prise en charge par les threads du système d'exploitation, puis la bibliothèque effectue elle-même la planification des tâches sans s'appuyer sur la planification du système.
    Les avantages des coroutines ont été mentionnés dans le lien que vous avez publié, mais l'inconvénient est que la mise en œuvre est plus compliquée et que les performances réelles seront inférieures à celles de l'utilisation directe des threads.

    répondre
    0
  • 巴扎黑

    巴扎黑2017-04-18 10:05:13

    Les coroutines sont en fait des appels de fonction, qui sont plus légers que les threads. Pour plus de détails, veuillez consulter les coroutines

    .

    répondre
    0
  • 伊谢尔伦

    伊谢尔伦2017-04-18 10:05:13

    def 协程1():
        pass
    def 协程2():
        pass
    def 协程3():
        pass
    def 协程n():
        pass
    
    while 1:
        协程1()
        协程2()
        协程3()
        协程n()

    Les coroutines sont des fonctions appelées dans une boucle infinie
    Ce qui précède est l'idée de base des coroutines. Il n'y a rien de mystérieux~
    Il doit être utilisé avec des E/S asynchrones pour éviter le blocage~

    répondre
    0
  • 巴扎黑

    巴扎黑2017-04-18 10:05:13

    Le concept de coroutine est expliqué en détail dans le lien au deuxième étage. Vous pouvez également en apprendre davantage sur gevent. Une bibliothèque basée sur coroutine. Après avoir compris cela, je pense que vous aurez une meilleure compréhension des coroutines

    répondre
    0
  • Annulerrépondre