Timbunan Protogen Goroutine melebihi

王林
Lepaskan: 2024-02-09 09:48:09
ke hadapan
821 orang telah melayarinya

Protogen Goroutine 堆栈超过

editor php Yuzai hari ini akan memperkenalkan kepada anda masalah yang berkaitan dengan Protogen: keadaan apabila timbunan Goroutine melebihi. Apabila membangun dengan Protogen, kadangkala anda akan menemui mesej ralat yang menunjukkan bahawa susunan Goroutine melebihi. Kejadian masalah ini boleh menyebabkan ranap program atau kemerosotan prestasi. Jadi, mengapa masalah ini berlaku dan bagaimana untuk menyelesaikannya? Seterusnya, kami akan menjawabnya satu persatu.

Kandungan soalan

Baru-baru ini saya menghadapi masalah penjanaan kod dalam golang. Saya mempunyai fail mentah yang besar dan kini perlu menambah pengelogan pada kebanyakan mesej menggunakan pakej luaran. Walau bagaimanapun, jika saya menambah pengelogan untuk terlalu banyak medan, ia panik dan mengatakan timbunan goroutine telah melebihi. Adakah terdapat cara untuk menjana kod dalam ketulan, atau hanya meningkatkan saiz cache maksimum gorouti yang dihasilkan?

Saya cuba nyahpepijat.SetMaxStack dan menjalankan arahan bina dengan kod go tetapi tiada apa yang berubah, ia nampaknya bukan penyelesaian yang baik kepada saya

Penyelesaian

Ternyata masalahnya adalah, seperti yang @BurakSerdar mengulas mengenai pencetakan rekursif berkata dalam kitaran. Jadi jika anda mempunyai sesuatu seperti:

message human {
  string name = 1;
  human child = 2;
  human parent = 3;
}
Salin selepas log masuk

Anda tidak sepatutnya melakukan ini:

message human {
  string name = 1;
  human child = 2 [(logger.field) = true];
  human parent = 3;
}
Salin selepas log masuk

Saya percaya perkara yang sama berlaku untuk penyesuaian lain yang ingin anda tambahkan pada medan, jika anda mempunyai mesej, sertakan medan dengan jenis mesej yang sama

Atas ialah kandungan terperinci Timbunan Protogen Goroutine melebihi. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:stackoverflow.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
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!