Skip to content

Latest commit

 

History

History
142 lines (91 loc) · 4.59 KB

README.md

File metadata and controls

142 lines (91 loc) · 4.59 KB

Contributors Forks Stargazers Issues MIT License LinkedIn


Logo

Work-Queue

A solution of the well-known producer-consumer problem using principles of concurrency control and to distribute tasks between threads so they can be processed concurrently keeping critical section in mind.

Report Bug · Request Feature

Table of Contents

About The Project

This project is all about building a multithreaded application to devise a means to distribute tasks between threads so they can be processed concurrently.

Queues are good devices for transferring work items from one thread to another. In this repository I’ll discuss the design of a work queue class implemented in C++ that can be used with Threads class objects to easily build a multithreaded application.

Built With

Getting Started

  1. Get the source code of Threads, which is a java like implementation of posix threads encapsulated cleanly in a single C++ class i.e. clone both this repository as well as above repository in the same folder using
git clone https://github.com/shie-ld/threads.git
git clone https://github.com/shie-ld/work-queue.git
  1. cd to the threads directory.
  2. Type make to build the threads program.
  3. cd .. to jump back to previous directory.
  4. cd to the work-queue directory.
  5. Type make to build the work-queue program.
  6. Run the test application as ./wqueue.

Prerequisites

  1. A C++ compiler, like g++ or cc or clang.
  2. make utility.

Both of them mostly come preinstalled in a typical linux distribution like Ubuntu.

Documentation

See the docs.

Roadmap

See the open issues for a list of proposed features (and known issues).

Contributing

Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

License

Distributed under the MIT License. See LICENSE for more information.

Contact

dixitrdreshofficial@gmail.com

Project Link: https://github.com/shie-ld/work-queue