A project focused on concurrency and synchronization, implementing the Dining Philosophers Problem using threads and mutexes in C.
-
Updated
Jun 8, 2024 - C
A project focused on concurrency and synchronization, implementing the Dining Philosophers Problem using threads and mutexes in C.
Multi-platform multi-threading library, C99 <threads.h> alternative (mutex, cond, thread, pool)
Cornerstone of the MOST efficient std::thread on Windows for mingw-w64
3 Series of Exercises for Operating Systems Class (6th Semester) of the Electrical and Computer Engineering School, NTUA
Highly portable C system library: threads and synchronization primitives, sockets (TCP, UDP, SCTP), IPv4 and IPv6, IPC, hash functions (MD5, SHA-1, SHA-2, SHA-3, GOST), binary trees (RB, AVL) and more. Native code performance.
42 Philosophers: Philosophers is a project that involves solving the dining philosophers problem using threads and synchronization. The goal is to implement a solution where multiple philosophers can share a limited number of resources (such as forks) without encountering deadlocks or starvation.
42 School Philosophers project: The Dining Philosophers Problem, written in C.
Creation of production simulation software removal, addition through threads and mutex
Learn about Linux signals using kill and signal functions. Create parent-child processes with shared buffer communication. Explore signals and mutexes, ensuring proper behavior with mutexes. Simulate a stuck process and terminate it using signals and semaphores.
Semaphore program: Demonstrates semaphore usage to restrict threads in a critical code section, allowing up to a specific amount of concurrent threads. Mutex program: Illustrates mutex usage for thread synchronization, ensuring only one thread enters the critical region at a time.
In this project, you will learn the basics of threading a process. You will see how to create threads and you will discover mutexes.
Using the Linux fork(): Dive into process creation. Using posix_spawn() functions: Explore process spawning. Signals in Linux: Learn about inter-process communication through signals. Threads in Linux with POSIX thread functions: Delve into multi-threaded programming. Mutex and Semaphore: Synchronization techniques for concurrent programing
Parallel buffer management with POSIX threads using mutexes, condition variables and barriers
Parallel writing with POSIX threads using mutexes, condition variables and barriers
Add a description, image, and links to the mutex topic page so that developers can more easily learn about it.
To associate your repository with the mutex topic, visit your repo's landing page and select "manage topics."