J'ai un problème dans le programme que j'écris. J'ai des fonctions de retour des pointeurs et dans la principale () Je veux les exécuter dans des threads.
Je suis capable d'exécuter les fonctions dans les threads: p> } p> dans MAIN () P> arrTh1 = SplitFirstArray_1st(xxx);
3 Réponses :
quelque chose comme ceci:
Bonjour Merci. Je vais certainement regarder cela.
STD :: ASYNC CODE> pourrait même être une meilleure solution dans des cas simples.
Fonctions qui démarrent le thread ne peuvent pas renvoyer les valeurs de manière normale. Par conséquent, ils doivent être déclarés comme Voice courante est d'attribuer une variable globale protégée. Vous devez protéger une avec des mutiles (ou d'autres méthodes) pour éviter les courses. p> Lorsque vous utilisez le pointeur dans d'autres threads (y compris le principal), vous devez protéger l'utilisation également avec le même mutex (ou choisir d'autres méthodes). < / p> et s'il vous plaît, faites pas strong> SupprSopited1 et ArR0. Il rendra le pointeur Arrth1 inutilisable. p> Remarque, si vous utilisez des fonctions void code>.
async code>, vous pouvez utiliser
contrats à terme code> pour renvoyer des valeurs. p> p>
Depuis quand est-il un moyen courant d'avoir des variables globales? En outre, il est orthographié futur code>.
Ne retournez pas la variable, transmettez un pointeur sur la variable et définissez la valeur à quels points aussi.
IE: p>
return foo; // No point placing code here unless you used goto as it won't get executed. // Also: don't use goto. }
Supprimer [] Arrsplited1, Arr0; Code> ... c'est inhabituel. Qu'attendez-vous que ça va?
@Eljay n'a pas d'importance parce que c'est un code inaccessible quand même.
Bonjour, ça ne devrait pas être là. C'est n'importe quoi". Merci.
S'il vous plaît Modifier Votre question lorsque vous avez commis une erreur.