Code Monkey home page Code Monkey logo

posix_threads's Introduction

POSIX_THREADS

Pthreads

Part 1

In this assignment I will write two pthreads programs that evaluate some aspects of the pthreads system. The first part and simpler of the two, lets threads write to the same file using mutexes to avoid race conditions. The main thread creates N (N is an optional command line argument by dafault 100) threads and all of them immediately block on condition variable start_line. After all threads are created, the main thread wakes them up and then waits until they all terminate with join. The threads after waking up lock the mutex filemut and write their PID followed by newline to file pthread_stats and then release the mutex. After they do this M times each (the second optional command line argument that defaults to 1000) they join the main thread.

Part 2

In the second pthread program of the assignment the main program creates N threads designated as red and then another N threads designated as green. All of them immediately block on condition variable start_line. After all threads are created, the main thread wakes them up and then waits until the all terminate with join. The threads after waking up lock the mutex filemut and write their PID followed by the word red or green followed by newline to file pthread_stats. The difference in this second version is that all the red threads write first their PID M times releasing and re-acquiring the mutex, then all the green ones another M times, then the red threads again, and so on, until they have written L (another optional command line argument that defaults to 10) times each.

posix_threads's People

Contributors

vishal0027 avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.