Skip to content

hz-chen/lwt

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
 
 
 
 

Repository files navigation

This is my personal multi-thread library, it's a improvement of pthread 
(at least I think so) and an extension from my Adv. OS project. 

Mr. Gabriel Parmer is the professor of the class, thanks a lot for all
he tought me.

It's a M:N mapping from user level threads and kernel level threads.

In user level, it uses cooperative scheduling between threads, like 
what Mac did before Mac OS X. 

The user threads are light-weighted and super fast, and inter-thread 
communication are convinence because the support of channel communication.

In kernel level, it basically runs on pthread, while the lwt library has 
a build-in data structure to manage all the pthread instance, so
the user may not even notice the existance of pthread.

The kernel threads are relatively heavy, and I also made inter-kthread
channel for inter-thread communication and we can even pass a user-level
thread to another kernel thread through the channel.

Making the code nolonger requires glib library, I wrote atomic.h to defined
the atomic instructions needed.

This library is not perfect (definitely), and has a lot bugs (of course), and
is still under construction.

About

My personal Light Weighted multi-Thread library

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published