J'ai une application qui utilise à la fois Objective C et c++, mais pour des raisons de portabilité, j'ai essayé d'utiliser c++ autant que possible.... Je suis maintenant confronté à un problème qui nécessite des threads. pthread
au lieu de NSThread
... est-il possible d'utiliser pthread
? Est-ce qu'Apple va me punir pour l'avoir utilisé en rejetant mon application sur l'appstore... ?
Réponses
Trop de publicités?NSThread est principalement une enveloppe autour de la sémantique de pthread.
Avantages : - NSThreadWillExitNotification : notification de sortie du NSThread - Stockage local du NSMutableDictionary pour les threads
Limites : - vous ne pouvez créer que des NSThreads détachés.
Sachez que Cocoa doit savoir que vous voulez faire du multithreading. Il est important de détacher d'abord un NSThread factice pour que l'application puisse être considéré comme multithreadé .
Mon application utilise l'API pthread, change la politique d'ordonnancement de SCHED_OTHER à SCHED_FIFO, et change la priorité du thread. Cela fonctionne bien.
Cependant, j'évite d'utiliser les API du cadre Cocoa touch dans le thread car je ne connais pas les effets secondaires de pthread au lieu de NSThread.