golang - Apakah senario penggunaan menggunakan hasil untuk melaksanakan coroutine dalam php?
某草草
某草草 2017-07-03 11:40:23
0
3
1617

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.

  • Bilakah coroutine PHP akan digunakan dalam projek?

  • Atau ada sebarang senario yang berkenaan?

  • Adakah pada masa ini terdapat perpustakaan yang merangkumnya?

某草草
某草草

membalas semua(3)
Ty80

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.

仅有的幸福

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

某草草

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.

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan