golang не освободил переменную после завершения функции - PullRequest
0 голосов
/ 31 марта 2020

Я написал простую программу golang, как показано ниже, и она занимала 4 ГБ памяти и не освобождала ее после завершения функции. Как я могу освободить занятую память?

func main() {
    wait := make(chan bool, 1)
    go func() {
        slice := make([]int64, 0)
        for i := 0; i < 1000 * 1000 * 100; i++ {
            slice = append(slice, 1)
        }
    }()

    <- wait
}

1 Ответ

0 голосов
/ 31 марта 2020

G C просто пометьте эту память как полезную, а не освобождайте ее немедленно - они будут периодически освобождать неиспользуемую память, поэтому для того, чтобы память стала действительно свободной, потребуется некоторое время.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...