Skip to main content

Section outline

  • Threads in Linux (2.5 hours)

    • POSIX threads (pthreads) and their usage.
    • Thread creation, management, and synchronization.

    Hands-on:

    • Create multiple threads using pthread_create().
    • Implement thread joining with pthread_join().

    Synchronization in Linux (2.5 hours)

    • Mutexes and Semaphores.
    • Synchronization strategies for multi-threaded environments.

    Hands-on:

    • Solve a producer-consumer problem using semaphores.
    • Demonstrate mutex locks in a multi-threaded application.

    Final Project & Wrap-Up (2 hours)

    • Develop a multi-threaded and multi-processing application integrating:
      • Processes, Threads, Synchronization, IPC.
      • Proper error handling and resource management.

    Final Project Evaluation:

    • Review project implementation.
    • Discuss best practices and optimization strategies.