Comment faire pour démarrer un nouveau thread de JNI
J'ai besoin de commencer un nouveau fil de la partie native de l'application android. Elle doit être déclarée et définie dans la JNI. Quelqu'un sait comment je peux faire? Si quelqu'un va poster l'exemple, je serais très heureux.
OriginalL'auteur theroom101 | 2014-05-26
Vous devez vous connecter pour publier un commentaire.
Plus simple est d'utiliser le C++11 classe thread. Voir cette rubrique sur la façon d'activer le C++11 avec Android NDK. Voir aussi ce post si vous rencontrez des problèmes pour faire classe thread de travail. Ensuite, vous pouvez l'utiliser comme ceci:
Si vous ne pouvez pas utiliser le C++11, il suffit d'utiliser pthread (POSIX thread), ce qui n'est pas très différent, sauf que c'est comme de vieux C:
Voici quelques plus d'infos sur l'utilisation des threads POSIX avec Android.
Aussi, vous aurez besoin de chercher comment faire pour lier les JNIEnv pointeur vers le thread courant si vous voulez l'utiliser dans n'importe quel thread, mais celui de la JNI fonction est appelée. À partir de la JNI spec:
Voir mise à jour de réponse.
Le C++11 fils recommandé plus de Stimuler les threads? Ou sont-ils les mêmes.
Ils ne sont pas les mêmes, je crois Boost a plus de fonctionnalités. Stimuler les threads, vous pouvez interrompre comme Java ou .NET. Voici une comparaison: stackoverflow.com/questions/7241993/...
OriginalL'auteur Steve M