The threads used by Librep are software threads. This means that they are currently implemented by manually switching in and out thread context (i.e. the call stack) as required. There are a number of disadvantages to this method:
The main advantage is the ease of implementation, especially when retrofitting threads into the previously single-threaded interpreter.