Je pense à moi-même comme un développeur assez décent, cependant, quand il s'agit de multithreading, je suis un N00b total. Je veux dire que la seule multithreading que j'ai faite au travail était la chose très basique, comme le frai de plusieurs threads à l'aide de la threadpool pour effectuer des travaux d'arrière-plan. Aucune synchronisation n'était nécessaire et il n'y avait jamais besoin de créer des discussions manuellement. P>
Alors, ma question est celle-ci; Je tiens à écrire une demande qui devra être fortement multithreadée et qui devra faire toutes les choses avancées telles que la synchronisation, etc. Je ne peux pas penser à rien à écrire. J'ai pensé à essayer d'essayer d'écrire ma propre épove threadpool, mais je pense avoir besoin d'apprendre à marcher avant de pouvoir courir. Alors, quelles idées peuvent-elles suggérer? Il ne doit pas nécessairement avoir d'usine de monde réel, il peut être totalement inutile et sans valeur, mais je veux juste aller mieux. J'ai lu des tonnes d'articles et de didacticiels sur toute la théorie, mais le seul moyen de vraiment aller mieux est de faire. Donc, toutes les idées? P>
3 Réponses :
Que diriez-vous d'une sorte d'application de traitement par lots inutile? Générez une quantité horrible de données dans un seul thread et déposez-le à un fichier, puis commencez à scinder l'œuvre dans des threads de différentes tailles et de les jeter à un autre fichier, de les mettre à la fois et de comparer les fichiers à la fin pour assurer la commande pour assurer la commande pour assurer la commande. est le même. Cela vous mènerait à la multi-threading, à la verrouillage, aux mutiles et à ce qui ne vise pas et montrez également les avantages de la multiplication de certaines tâches par rapport au traitement dans un seul fil. P>
première chose qui est tombée dans ma tête. Pourrait être terne et / ou inutile, mais ne tirez pas sur le messager! :) p>
Suggestion intéressante. Je ne sais pas que je comprends tout à fait ce que vous voulez dire, ce que vous voulez dire avec "les temps et comparez les fichiers à la fin pour que la commande soit la même"
Désolé - je veux dire le temps passé sur un seul fil, puis le temps passé sur 2, 3, 4, n threads, etc.
Je pense que vous devriez attirer l'attention sur ces livres: P>
Excelent articles de Herb Sutter (Herb, nous attendons tous votre nouveau livre!) P>
Concurrence efficace série p>
Certains blogs: p>
P.s. Que diriez-vous de Filetage d'alimentation comme exemple de multithreading (et de mise en œuvre threadpool)? P>
Grand matériel de lecture, mais je veux vraiment écrire du code. J'ai fait assez de lecture ...
Peut-être essayer d'implémenter le serveur de socket multithreaded? Ou certains calculs multithreads simples?
est-ce suffisant? P>
A écrit le châleur Web One. Grande bonne idée! Était vraiment amusant aussi. Devoir que le fil de la file d'attente soit sûr, ainsi que le cache qui a gardé la trace des URL déjà vérifiées était juste l'exercice dont j'avais besoin. Merci! Je vais essayer le serveur Web WCF un essai suivant.
Essayez de fileter la machine à coudre Serger de ma femme. Cette chose gère plus de threads que M $ Office 2000