Existe um mecanismo, como a @MainActor
tag, onde podemos especificar um thread não principal compartilhado no qual as classes designadas estão?
Gostaria de poder configurar algo como:
@AnimalsActor
final class Dog {
// ...
}
@AnimalsActor
final class Cat {
// ...
}
Onde todo o acesso à propriedade e chamadas de função para Gato e Cachorro seriam feitos no mesmo ator.
As soluções que vi exigem a definição de um ator e, em seguida, chamá-lo explicitamente de dentro das classes, o que significa trocas de contexto frequentes entre as classes e o ator, em vez de as classes já estarem no contexto do ator.
Você pode definir um ator global . Como diz a proposta da Swift Evolution:
Assim, você pode definir
AnimalsActor
da seguinte forma:E
Cat
oDog
que está descrito na sua pergunta funcionará como está escrito: