Question

J'écrire IE sur et j'utilise ATL pour elle. Je dois créer thread de travail de fond si fil interface utilisateur sera débloquée dès que possible. Ma question est, dois-je utiliser le plus bas possible de créer ainsi fil est Winapi, CreateThread etc.

Ou bien est-il d'autre moyen de créer fil communication libre des travailleurs dans BHO / ATL / projets COM?

Je dois apprendre ce genre de choses d'abord si je pensais que je demanderais d'abord;)

Était-ce utile?

La solution

Il n'y a pas besoin d'utiliser des API de bas niveau à moins que vous avez besoin du niveau de contrôle qu'ils offrent.

Avec ATL vous avez déjà CWorkerThread , mais vous pouvez également utiliser d'autres bibliothèques comme Boost.Thread si vous préférez.

Autres conseils

Si vous allez tout le long de l'API, puis _ beginthreadex est préférable à CreateThread () si votre fil utilisera le CRT. (Si vous ne savez pas, ce sera probablement)

En règle générale, vous pouvez utiliser boost :: fil, Visual Studio ConCRT ou Intel TBB, selon la façon dont l'extrême vos besoins de filetage sont. Pour les utilisations les plus simples, choisissez boost :: thread. Pour les utilisations plus avancées, choisissez le ConCRT ou TBB. Ne pas utiliser WinAPI sauf si vous êtes sérieusement désespérée pour certaines fonctionnalités ne sont pas offerts dans les autres bibliothèques. Le simple fait est que si vous écrivez une bibliothèque en C ++, puis allez utiliser la WinAPI pour les fils est comme retourner à l'assembleur pour écrire votre programme. Restez en C ++ -. Boost utilisation

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top