Что такое .freeze () в Kotlin / Native? - PullRequest
0 голосов
/ 03 сентября 2018

Я вижу еще одну функцию в Kotlin / Native, которой нет в JVM или JS Kotlin. Что это?

1 Ответ

0 голосов
/ 03 сентября 2018

От Документы по совместительству уроженцев Котлина

Замораживание - это операция во время выполнения, делающая данный объектный подграф неизменным, изменяя заголовок объекта так, чтобы будущие попытки мутации приводили к генерированию исключения InvalidMutabilityException. Это глубоко, поэтому, если объект имеет указатель на другие объекты - транзитивное закрытие таких объектов будет заморожено. Замораживание является односторонним преобразованием, замороженные объекты не могут быть заморожены. Замороженные объекты обладают приятным свойством, заключающимся в том, что благодаря их неизменности они могут свободно использоваться несколькими рабочими / потоками, не нарушая инвариант «изменяемый общий XOR».

...