Skip to content

A simple implementation of CSP-style user threads mapped to kernel threads like Go's Goroutines in C++

Notifications You must be signed in to change notification settings

abaksy/gocpparallel

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

A simple co-routine implementation in modern C++

A very simple implementation of an M:N threading model similar to the one used by Go's Goroutines and many other user-space threading libraries that implement co-routines (for example, C++20 and Kotlin).

We use round-robin scheduling using a queue of waiting user-space threads to schedule them onto a fixed number of kernel threads (specified using the system_init function).

Build Instructions

Use the provided makefile to compile the built-in driver program to demonstrate that our implementation progress without deadlocks.

make all # generates test binary

./uthreaddriver

make clean # cleans up build artifacts

About

A simple implementation of CSP-style user threads mapped to kernel threads like Go's Goroutines in C++

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published