je remarquai que l'appel banal de mon thread principalAppel performSelectorOnMainThread => Application multithread?
suivant[self performSelectorOnMainThread:@selector(rollBar:)
withObject:nil
waitUntilDone:false];
était à l'origine [NSThread isMultiThreaded]
signaler que mon application
était devenu multithread. Je pensais que c'était supposé
se produire lorsque vous détachez un thread, quelque chose qui met en file d'attente
un message dans un thread ne devrait pas avoir à faire.
Des idées?
Cette question n'est pas la même que this one.
la presse Arrêtez
Ma faute, rollBar:
appelé [m_progress_bar incrementBy: 0.5];
.
La jolie, lécher, animation NSProgressIndicator
est responsable
pour rendre mon application devenir multithread. Ce qui est surprenant.
Je ne le savais pas.
Étonnamment, [m_progress_bar usesThreadedAnimation]
toujours
retours NO
, même si la barre anime quand mon application est suspendue.
Mais si vous essayez d'exécuter quelque chose (dans le thread principal) et ne voulez pas attendre que cette opération soit terminée ("waitUntilDone: false") cela ne signifie-t-il pas automatiquement que vous devez avoir au moins deux threads? – diciu
Non, vous ne faites que poster des événements dans la file d'attente de votre propre thread. Au moins c'est ce que vous attendez. Traversez cependant, j'ai compris: j'ai fait quelque chose de stupide, mais le résultat a été surprenant. –