java - python的协程是什么?和多线程有啥区别吗?
高洛峰
高洛峰 2017-04-18 10:03:13
0
4
599

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

高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

membalas semua(4)
巴扎黑

Coroutine adalah serupa dengan thread, tetapi thread disediakan oleh lapisan bawah sistem pengendalian, manakala coroutine disediakan oleh platform itu sendiri.
Coroutine adalah berdasarkan urutan Lapisan bawah pustaka coroutine disokong oleh urutan sistem pengendalian, dan kemudian pustaka melengkapkan penjadualan tugas dengan sendirinya tanpa bergantung pada penjadualan sistem.
Kelebihan coroutine telah disebut dalam pautan yang anda siarkan, tetapi kelemahannya ialah pelaksanaannya lebih rumit dan prestasi sebenar akan lebih rendah daripada menggunakan utas secara langsung.

巴扎黑

Coroutine sebenarnya ialah panggilan fungsi, yang lebih ringan daripada benang Untuk butiran, sila lihat coroutine

伊谢尔伦
def 协程1():
    pass
def 协程2():
    pass
def 协程3():
    pass
def 协程n():
    pass

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

Coroutine ialah fungsi yang dipanggil dalam gelung tak terhingga
Di atas ialah idea asas coroutine. Tiada apa-apa yang misteri~
Ia perlu digunakan dengan IO tak segerak untuk mengelakkan sekatan~

巴扎黑

Konsep coroutine diterangkan secara terperinci dalam pautan di tingkat dua Anda juga boleh belajar tentang gevent. Perpustakaan berasaskan coroutine. Selepas memahami perkara ini, saya percaya anda akan lebih memahami coroutine

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!