https://github.com/dwtj/uthread
A cooperative threading library written in POSIX C. It performs many-to-many mapping user threads and kernel threads using a rudimentary scheduling scheme.
https://github.com/dwtj/uthread
Last synced: over 1 year ago
JSON representation
A cooperative threading library written in POSIX C. It performs many-to-many mapping user threads and kernel threads using a rudimentary scheduling scheme.
- Host: GitHub
- URL: https://github.com/dwtj/uthread
- Owner: dwtj
- Created: 2014-11-01T15:06:37.000Z (over 11 years ago)
- Default Branch: master
- Last Pushed: 2014-11-07T23:07:19.000Z (over 11 years ago)
- Last Synced: 2023-08-14T10:10:47.853Z (almost 3 years ago)
- Language: C
- Homepage:
- Size: 181 KB
- Stars: 4
- Watchers: 3
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# uthread #
**Author:** David Johnston:
The `uthread` library is a cooperative user thread library. It performs dynamic many-to-many mappings between user threads and kernel threads.
The user code first chooses the maximum number of kernel threads that will be run. Then, an arbitrary number of user threads can be created to run on this number of threads. See the header file, `uthread.h`, for details about the public interface.
Invoke `make` to build the uthread library, `uthread.o`, and the test program, `test_uthread`.
For an exact demonstration of how to use the library, see the `test_uthread.c` and the `makefile`. Notice that you will need to
- Include `uthread.h` in your application.
- Compile the one dependency of `uthread.c`: `lib/heap.c`.
- Compile `uthread.c` to object code.
- Link your application with `uthread.o` and `heap.o`.
(See `lib/README.md` for an attribution to the heap implementation's authors.)