Rumah > pembangunan bahagian belakang > Golang > Bagaimanakah Saya Boleh Mengekalkan Program Pergi Berlangsung daripada ditamatkan lebih awal?

Bagaimanakah Saya Boleh Mengekalkan Program Pergi Berlangsung daripada ditamatkan lebih awal?

Patricia Arquette
Lepaskan: 2024-12-16 13:58:16
asal
444 orang telah melayarinya

How Can I Keep a Long-Running Go Program from Terminating Prematurely?

Amalan Terbaik untuk Mengekalkan Program Go Jangka Panjang Hidup

Menjalankan program Go yang berjalan lama tanpa ditamatkan sebelum waktunya boleh menjadi penting untuk aplikasi tertentu. Apabila fungsi utama keluar, begitu juga program, meninggalkan mana-mana goroutine yang sedang berjalan terkandas. Bagaimanakah anda memastikan program anda kekal hidup apabila ia sepatutnya?

Satu taktik biasa untuk menghalang goroutine utama daripada keluar ialah menggunakan panggilan mudah ke fmt.Scanln(). Walau bagaimanapun, pilihan ini bermasalah jika anda tidak berniat untuk sebarang interaksi konsol.

Sebaliknya, pertimbangkan pengesyoran berikut:

  1. Sekat Selamanya:
    Sekat goroutine utama menggunakan {} pilih untuk menunggu tanpa had. Pendekatan ini memastikan program ini kekal hidup selagi pernyataan pilihan tidak terganggu.

    package main
    
    import (
        "fmt"
        "time"
    )
    
    func main() {
        go forever()
        select {} // block forever
    }
    
    func forever() {
        for {
            fmt.Printf("%v+\n", time.Now())
            time.Sleep(time.Second)
        }
    }
    Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengekalkan Program Pergi Berlangsung daripada ditamatkan lebih awal?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan