Skip to content

Multi-Threaded, High-Performance Job Work Queue in C++ keeping concurrency control in mind.

License

Notifications You must be signed in to change notification settings

shie-ld/work-queue

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

About

Multi-Threaded, High-Performance Job Work Queue in C++ keeping concurrency control in mind.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published