cari

Rumah  >  Soal Jawab  >  teks badan

golang - Apakah senario penggunaan menggunakan hasil untuk melaksanakan coroutine dalam php?

Saya melihat artikel tentang PHP menggunakan coroutine untuk mencapai multitasking koperasi Ia bercakap tentang melaksanakan coroutine melalui hasil PHP. Tetapi artikel itu terlalu panjang dan saya tidak menghabiskannya, jadi saya membacanya secara ringkas.

某草草某草草2720 hari yang lalu1608

membalas semua(3)saya akan balas

  • PHP中文网

    PHP中文网2017-07-03 11:42:23

    Coroutine boleh digunakan dalam IO rangkaian tak segerak untuk menjadikannya tidak menyekat.

    Sebagai contoh, jika anda berada dalam permintaan http dan anda perlu meminta antara muka luaran, maka senario berikut akan berlaku.

    Pelayan bahagian hadapan anda adalah nginx tidak menyekat dan tidak segerak, tetapi php-fpm adalah segerak dan menyekat. Kemudian apabila anda meminta antara muka luaran, tugas itu akan disekat. (Perlu ditambah di sini bahawa proses Pekerja php-fpm disekat secara serentak)

    Andaikan anda menggunakan coroutine, maka apabila anda meminta antara muka, tugas anda boleh dijeda dan konteks disimpan. Kemudian, apabila antara muka anda kembali, mulakan semula tugas dan teruskan pelaksanaan. Proses anda tidak perlu menghabiskan masa untuk tugas ini dan boleh mengendalikan permintaan http lain. Adakah ini bermakna jumlah konkurensi adalah tinggi?

    Begitu juga, apabila permintaan anda menanyakan pangkalan data, ia juga merupakan permintaan IO dan juga segerak. Coroutines boleh menjadikan pengaturcaraan IO anda tidak segerak dan tidak menyekat, dengan itu meningkatkan keselarasan anda. Ini terutamanya membolehkan CPU anda mengendalikan perkara lain sementara menunggu IO. Semua permintaan IO boleh melakukan ini melalui coroutine.

    Saya telah membaca artikel anda ini, ia adalah artikel yang sangat bagus. Di sini penulis menggunakan hasil untuk melaksanakan penjadualan tugas, iaitu melakukan perkara yang saya nyatakan di atas. Anda juga boleh lihat di http://www.laruence.com/2015/... diterjemahkan oleh Saudara Niao, yang boleh dikatakan sebagai tambahan kepada terjemahan yang anda lihat. Dia melaksanakan pelayan tidak menyekat asynchronous melalui hasil, yang sudah tentu hanya demo. Satu contoh akan kelihatan lebih baik.

    balas
    0
  • 仅有的幸福

    仅有的幸福2017-07-03 11:42:23

    Apa yang saya temui setakat ini ialah apabila model rangka kerja laravel menggunakan kursor untuk mengambil data, ia menggunakan hasil untuk mengelakkan masalah memori tidak mencukupi yang disebabkan oleh mengambil terlalu banyak data sekaligus

    balas
    0
  • 某草草

    某草草2017-07-03 11:42:23

    Perkara yang paling asas ialah mengimport atau mengeksport sejumlah besar data untuk cemerlang dengan mengandaikan bahawa proses eksport/eksport perlu memproses data, ia boleh digunakan pada masa ini.

    balas
    0
  • Batalbalas