C pthread

De The Linux Craftsman
Révision datée du 21 septembre 2018 à 19:13 par Jc.forton (discussion | contributions) (Page créée avec « = Introduction = Les thread ou ''processus légers'' sont utilisés pour paralléliser l'exécution dans un programme. Ils sont dit ''légers'' car ils s'exécutent dans l... »)
(diff) ← Version précédente | Voir la version actuelle (diff) | Version suivante → (diff)
Aller à la navigation Aller à la recherche

Introduction

Les thread ou processus légers sont utilisés pour paralléliser l'exécution dans un programme. Ils sont dit légers car ils s'exécutent dans le même contexte que le processus d'exécution principal qui les créés et consomme donc moins de mémoire / CPU.

Pré-requis

Pour pouvoir créer des threads il faut utiliser la librairie pthread (POSIX thread):

#include <pthread.h>

Ce qui donne en ligne de commande:

gcc -lpthread thread_exemple.c

Pour inclure la librairie dans Eclispe regardez ici.

Premier thread

Dans ce premier exemple nous allons créer un thread qui affiche une message:

#include <stdio.h>
#include <stdlib.h>
#include <pthread.h>

void *thread_1(void *arg) {
	printf("Nous sommes dans le thread.\n");
	// Arrêt propre du thread
	pthread_exit(NULL);
}

int main(void) {
	// Création de la variable qui va contenir le thread
	pthread_t thread1;
	printf("Avant la création du thread.\n");
	// Création du thread
	pthread_create(&thread1, NULL, thread_1, NULL);
	printf("Après la création du thread.\n");
	return EXIT_SUCCESS;
}