Możemy użyć scheduleUpdate
lub schedule:@selecotr(xxx)
, aby zaplanować metodę do uruchomienia.Czy zaplanowane metody cocos2d działają w innym wątku?
Czy zaplanowana metoda działa w innym wątku?
Możemy użyć scheduleUpdate
lub schedule:@selecotr(xxx)
, aby zaplanować metodę do uruchomienia.Czy zaplanowane metody cocos2d działają w innym wątku?
Czy zaplanowana metoda działa w innym wątku?
Nie. Obiekty Cocos2d nie są wątkowo bezpieczne i powinny działać na głównym wątku. Licznik jest zaplanowany w pętli głównego uruchomienia. Więc nie blokuj głównego wątku pod żadnym pozorem.
Można użyć metody [self performSelectorInBackground: ...] i podobnych metod NSObject.
Obowiązują zwykłe zastrzeżenia. Prawie każda właściwość w cocos2d jest oznaczona jako "nieatomowa" i dlatego nie jest wątkowo bezpieczna, więc możesz napotkać problemy z wielowątkowością, chyba że wiesz dokładnie, co wielowątkowość i dlaczego to robisz.
Atomowość nie jest równa bezpieczeństwa nici! Oznaczenie własności jako atomowej nie czyni jej bardziej bezpiecznym niż oznaczanie jako nieatomowe, gwarantuje jedynie, że odczyty i zapisy są wykonywane atomowo! – JustSid