2009-04-21 6 views
0
  1. Que sont les threads?
  2. Pourquoi pensez-vous que je devrais m'en préoccuper?
  3. Où pourriez-vous suggérer je vais en apprendre plus (je travaille en Delphi, si cela est important).
+1

Il ya beaucoup de ressources sur le web, cherchez un peu. BTW, En savoir plus sur les pools de threads ... ils sont très utiles :) – jasonco

+0

Je suis curieux. Pourquoi était-ce downvoted. Y a-t-il un double évident? Malgré la nature «novice» de la question, je pense que c'est une question importante. –

Répondre

2

threads pour utiliser plusieurs processeurs ou cœurs dans une unité centrale de traitement, de sorte qu'ils offrent d'énormes speedups lorsqu'ils sont utilisés correctement sur des machines spécifiques.

+0

Correct ... mais ne parvient pas à faire la différence entre l'utilisation de plusieurs threads et plusieurs processus. – dmckee

2

Un peu d'histoire à partir d'un "vieux temporisateur": quand j'ai entendu parler de threads pour la première fois, on les appelait "threads of control".

L'une des bibliothèques de threads portables les plus populaires était (et est toujours) "pthreads" ou "POSIX Threads". Il a été dérivé de la "Concert Multithread Architecture" de Digital Equipment Corporation. Il est à noter que le documentation pour pthreads utilise encore le terme "thread of control". À partir d'une page de manuel en ligne pour la fonction pthread_create:

pthread_create crée un nouveau thread de contrôle qui exécute en même temps que le thread appelant.

Vous devez vous soucier des threads car tout ce que vous faites sur un ordinateur se fait dans un thread. Même le programme "Hello, world" le plus simple contient au moins un seul thread.

Les choses deviennent plus intéressantes avec plusieurs threads. En fait, les choses deviennent intéressantes si vous n'êtes pas très prudent!

0
  1. Le nombre de 'choses' que votre programme/application peut faire en même temps sans être influencé par les autres 'choses' qu'il fait à ce moment précis. Exemple de support 1. Supposons que votre programme est une voiture, mais que vous n'utilisez pas de filetage, lorsque vous ouvrez la porte, que la porte est bloquée et que vous ne pouvez pas la fermer. Maintenant, vous ne pouvez pas démarrer votre voiture car il n'y a qu'une seule action disponible et vous ne pouvez pas en démarrer une autre avant la fin de la précédente. Si vous utilisiez des threads dans votre programme (la voiture), vous seriez en train de conduire avec une porte ouverte ;-)
  2. Quel est le fil est assez facile, en fonction de la langue dépend de la recherche de la bonne documentation et juste avoir un peu d'amusement :)
Questions connexes