utilisation de boost sockets, ai-je besoin d'un seul io_service?

avoir plusieurs connexions dans plusieurs threads différents.. je suis fondamentalement de faire une classe de base qui utilise boost/asio.php et le tcp trucs là..
maintenant, je lisais ceci: http://www.boost.org/doc/libs/1_44_0/doc/html/boost_asio/tutorial/tutdaytime1.html
il est dit que "Tous les programmes qui utilisent asio besoin d'avoir au moins un io_service de l'objet."
donc, ma classe de base a une statique io_service (ce qui signifie qu'il y aura seulement 1 pour l'ensemble du programme et de tous les différents fils et connexions utilisent le même io_service objet)
ou faire de chaque connexion à son propre io_service?

grâce devant!

mise à jour:
OK donc en gros ce que je voudrais faire est une classe de base pour un client qui aura un socket n il.
Pour chaque prise, je vais avoir un thread qui toujours-reçoit et un autre thread que, parfois, envoie des paquets.
après avoir regardé ici: www.boost.org/doc/libs/1_44_0/doc/html/boost_asio/reference/ip__tcp/socket.html (ne peux pas faire de lien hypertexte depuis im nouveau ici.. alors que de 1 hyperling par post), je peux voir que la classe socket, ce n'est pas thread-safe..

donc 2 questions:
1. Basé sur le design que je viens d'écrire, j'ai besoin 1 io_service pour toutes les prises de courant (sens d'en faire un membre de classe statique) ou, devrais-je en avoir un pour chaque?
2. Comment puis-je faire thread-safe pour le faire? dois-je le mettre à l'intérieur d'un "thread-safe "environnement" dans le sens de faire une nouvelle classe socket a mutex et des trucs qui ne laisse pas u d'envoyer et de recevoir en même temps ou vous avez d'autres suggestions?
3. Je devrais peut-être aller sur un asynch design? (ofc chaque prise de courant ont un autre fil, mais l'envoi et la réception serait sur le même thread?)

juste pour clarifier: im faire un tcp client qui se connecte à un grand nombre de serveurs.

"au moins un io_service" signifie "un ou plusieurs".
ma question est que dois-je faire et pourquoi? seulement 1 pour tous ou l'un de chacune d'elles et pourquoi?
Faites-vous synchrone ou asynchrone io?
je utiliser un autre thread pour recevoir et mettre tout ça dans un thread-safe tampon si c'est votre question
utilisez-vous le async_read et async_write ou read et write gratuit fonctions?

OriginalL'auteur grich | 2010-11-02