cari

Rumah  >  Soal Jawab  >  teks badan

php - Apakah coroutines? Apakah senario aplikasi?

Bagaimana untuk memahami coroutine dan apakah senario aplikasinya?
Melihat beberapa contoh daripada Brother Niao, pemahaman saya ialah apabila hasil digunakan dalam fungsi, titik putus akan menjadi dijana di sana. Kali seterusnya anda menggunakan fungsi ini, ia akan mula berjalan dari titik gangguan ini, tetapi saya tidak tahu sama ada pemahaman saya betul. . Saya tidak tahu bagaimana senario aplikasi itu

给我你的怀抱给我你的怀抱2780 hari yang lalu786

membalas semua(2)saya akan balas

  • 曾经蜡笔没有小新

    曾经蜡笔没有小新2017-05-16 13:12:47

    Pemahaman proses, benang dan coroutine

    balas
    0
  • 黄舟

    黄舟2017-05-16 13:12:47

    Berkenaan coroutine, perkara yang paling biasa anda baca ialah ayat ini: "Coroutines ialah utas mod pengguna".

    Untuk memahami apa itu "benang mod pengguna", anda mesti terlebih dahulu memahami apa itu "benang mod kernel". Urutan keadaan kernel dijadualkan oleh sistem pengendalian Apabila menukar konteks benang, anda mesti menyimpan konteks urutan sebelumnya, dan kemudian melaksanakan urutan seterusnya Apabila syarat dipenuhi, tukar kembali ke urutan sebelumnya dan pulihkan konteks. Perkara yang sama berlaku untuk coroutine, kecuali urutan mod pengguna tidak dijadualkan oleh sistem pengendalian, tetapi oleh pengaturcara, dalam mod pengguna.

    yield这个关键字就是用来产生中断, 并保存当前的上下文的, 比如说程序的一段代码是访问远程服务器,那这个时候CPU就是空闲的,就用yield让出CPU,接着执行下一段的代码,如果下一段代码还是访问除CPU以外的其它资源,还可以调用yieldLepaskan CPU Teruskan pelaksanaan, supaya anda boleh menulis kod tak segerak dengan cara yang segerak.

    balas
    0
  • Batalbalas