Noch nicht registriert ? Erstellen Sie eine Overblog !

Mein Blog erstellen

Créer des threads en langage C (explications, principes de base, conseils)

Dans les systèmes d'exploitation modernes, une application peut se diviser en plusieurs fils. Les threads en C via POSIX, sont une notion à connaître, puisqu'ils permettent d'une part l'amélioration des performances sur un processeur multi-core, mais aussi de séparer chaque tâche et pouvoir en exécuter plusieurs "en même temps". Quelques concepts seront traités dans cet article, vous permettant de créer un thread, le fermer et protéger vos données.

Ouvrir un thread

La création d'un thread est assez simple. On utilisera la fonction "pthread_create", c'est aussi simple que cela. Elle comprend quatre arguments :
- int pthread_create(pthread_t * pth, pthread_attr_t *att, void * (*function), void * arg), où pth est un pointeur sur pthread_t, donnée qui stockera l'identifiant du thread créé,
- Un pointeur sur pthread_attr_t, structure qui vaut NULL par défaut, mais qui peut aussi contenir des modifications du thread.
- Le troisième argument est un pointeur sur fonction qui fonctionnera comme la fonction "main". Le thread s'arrêtera dès qu'il sortira de la fonction.
- Le dernier argument est similaire aux arguments argc et argv de la fonction "main". La fonction "pthread_create" renvoie un entier qui vaut 0 si la fonction s'est bien déroulée, et un autre entier sinon.

Fermer un thread

Dans la fonction du thread, on pourra utiliser "pthread_exit" pour terminer la fonction, ou tout simplement retourner un entier. En dehors de la fonction en revanche, la fonction "int pthread_cancel(pthread_t thread)" permettra d'arrêter un thread à partir de son identifiant. Elle renvoie 0 en cas de succès, un autre entier sinon.

Compilation

Il faudra penser à inclure l'en-tête suivant afin d'utiliser les fonctions de la librairie pthread :
#include
À la compilation, il faudra tout simplement ajouter l'option -l en appelant gcc, comme ceci : gcc programme.o -o programme -lpthread.
Votre programme est désormais compilé.

Protéger vos données

Les applications multi-thread peuvent utiliser un mutex (similaire au mot-clé "synchronized" pour les threads en Java) ou un sémaphore pour protéger vos données. Techniquement, un mutex doit être déverrouillé (pthread mutex unlock) par le même thread qui l'a verrouillé (pthread mutex lock), mais certains systèmes d'exploitation autorisent n'importe quel thread à le faire.
Le sémaphore a un autre fonctionnement. Elle compte jusqu'à zéro, donnant donc un certain nombre d'accès aux threads l'utilisant. Une fois le sémaphore à zéro, un thread devra l'incrémenter pour l'utiliser de nouveau. Une sémaphore n'autorisant qu'un seul accès aux données agira comme un mutex, à la différence que n'importe quel thread pourra y accéder.

Gleiche Kategorie Artikel Informatique

Où acheter une imprimante pas cher ?

Où acheter une imprimante pas cher ?

Aujourd'hui, avoir une imprimante chez soi est indispensable à la vie quotidienne. mais où en acheter une le moins cher possible ? comment ne pas se faire arnaquer ? nous allons voir dans cet article comment faire une bonne affaire à moindre coût, que ce soit sur internet ou à pied.
Comment faire des animations sur un Powerpoint ?

Comment faire des animations sur un powerpoint ?

Savoir créer un diaporama vivant et personnalisé avec powerpoint fait maintenant partie des qualités requises pour animer réunions, présentations et événements en tout genre. mais illustrations diverses et polices originales ne suffisent plus, apprendre powerpoint pour savoir créer des effets sophistiqués est devenu un must, mais il faut savoir l'utiliser avec modération ! passons en revue les deux fonctions principales qui donneront de la vie à vos diapositives, les animations et les transitions.
Quel est le meilleur logiciel de création de site Web et comment l'utiliser ?

Quel est le meilleur logiciel de création de site web et comment l'utiliser ?

Lorsque vous voulez créer un site web, plusieurs solutions s'offrent à vous. si vous êtes un professionnel de l'informatique, vous n'aurez pas trop de mal à utiliser un logiciel comme dreamweaver, qui vous permettra de créer un site en html. si vous êtes fan de fonctionnalités, wordpress et joomla seront plus adaptés. enfin, si vous débutez, utilisez plutôt un des éditeurs de sites web, comme gandi site maker.
Les claviers Logitech : présentation de la marque et gamme de produits.

Les claviers logitech : présentation de la marque et gamme de produits.

Logitech est une marque qui a fait ses preuves dans le domaine du matériel informatique. elle propose ainsi de multiples articles à des prix adaptés aux goûts de chacun. que l'on soit un utilisateur moyen d'ordinateur ou un joueur assidu à la recherche du meilleur clavier, chacun peut y trouver son compte. tous les joueurs le savent, afin de se procurer un matériel digne de ce nom adapté aux jeux, il faut en général y mettre le prix. c'est pourquoi les claviers pour joueurs sont plus chers que les claviers de bureau normaux, mais ils disposent de plusieurs fonctionnalités intéressantes pour le jeu.