Search
Write a publication
Pull to refresh
1
0
Евгений Четвериков @chetverikovem

Инди разработчик игр. Unity3D.

Send message

По поводу приведённого примера реализации Singleton:

  1. Если загрузить новую сцену, в которой есть другой экземпляр GameManager, оригинальный код не уничтожит этот экземпляр

  2. // Вручную создаем новый экземпляр GameManager
    GameObject newGameManager = new GameObject("AnotherGameManager"); GameManager manager = newGameManager.AddComponent<GameManager>();
    // Это нарушает синглтон, так как теперь существует два экземпляра

  3. // Код, вызываемый из нескольких потоков одновременно
    void Start() {
    // Создаем несколько потоков, каждый из которых пытается получить доступ к экземпляру GameManager
    for (int i = 0; i < 10; i++)
    {
    new Thread(() =>
    {
    GameManager manager = GameManager.Instance;
    // Может привести к созданию нескольких экземпляров
    }).Start();
    }
    }

Information

Rating
Does not participate
Location
Россия
Registered
Activity

Specialization

Game Developer
Middle
From 180,000 ₽
Unity3d