From 9744c9612cacb6c0321f8e6664d2935d4eb3f668 Mon Sep 17 00:00:00 2001 From: Ronan Fourneuve Date: Sat, 16 Aug 2025 07:34:54 +0000 Subject: [PATCH] Ajout Thread --- ANALE-1/EXO3/SUJET/a.out | Bin 0 -> 16096 bytes ANALE-1/EXO3/SUJET/pipeline.c | 0 ANALE-1/EXO4/Thread | Bin 0 -> 16392 bytes ANALE-1/EXO4/thread.c | 45 ++++++++++++++++++++++++++++++++++ 4 files changed, 45 insertions(+) create mode 100755 ANALE-1/EXO3/SUJET/a.out create mode 100644 ANALE-1/EXO3/SUJET/pipeline.c create mode 100755 ANALE-1/EXO4/Thread create mode 100644 ANALE-1/EXO4/thread.c diff --git a/ANALE-1/EXO3/SUJET/a.out b/ANALE-1/EXO3/SUJET/a.out new file mode 100755 index 0000000000000000000000000000000000000000..5a7c38c0d28629842425ad733cc09820f484724b GIT binary patch literal 16096 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 QyniMAu%WE?Irv2NZ%5C5$N&HU literal 0 HcmV?d00001 diff --git a/ANALE-1/EXO3/SUJET/pipeline.c b/ANALE-1/EXO3/SUJET/pipeline.c new file mode 100644 index 0000000..e69de29 diff --git a/ANALE-1/EXO4/Thread b/ANALE-1/EXO4/Thread new file mode 100755 index 0000000000000000000000000000000000000000..030a1f9b0a22529f2eadf464666399cdaad5124d GIT binary patch literal 16392 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 literal 0 HcmV?d00001 diff --git a/ANALE-1/EXO4/thread.c b/ANALE-1/EXO4/thread.c new file mode 100644 index 0000000..da75873 --- /dev/null +++ b/ANALE-1/EXO4/thread.c @@ -0,0 +1,45 @@ +#include +#include +#include + +struct structArg { + pthread_mutex_t* mutex; +}; + +void* func1(void* arg){ + struct structArg* args = arg; + pthread_mutex_lock(args->mutex); + for(int i =1;i<1500;i++){ + printf("OK - 1 - %d\n",i); + } + pthread_mutex_unlock(args->mutex); + pthread_exit(NULL); +} + +void* func2(void* arg){ + struct structArg* args = arg; + pthread_mutex_lock(args->mutex); + for(int i =1;i<1000;i++){ + printf("OK - 2 - %d\n",i); + } + pthread_mutex_unlock(args->mutex); + pthread_exit(NULL); +} + +int main(void){ + pthread_t p1,p2; + pthread_mutex_t mutex; + pthread_mutex_init(&mutex,NULL); + + struct structArg args; + args.mutex = &mutex; + + + pthread_create(&p1,NULL,func1,&args); + pthread_create(&p2,NULL,func2,&args); + pthread_join(p1,NULL); + pthread_join(p2,NULL); + pthread_mutex_destroy(&mutex); + + return 0; +} \ No newline at end of file