There have been various implementations of M:N threads for some time now. The concept is simple, but the devil is in the details.