organize std lib concurrency primitives and add RwLock
* move concurrency primitives that always operate on kernel threads to the std.Thread namespace * remove std.SpinLock. Nobody should use this in a non-freestanding environment; the other primitives are always preferable. In freestanding, it will be necessary to put custom spin logic in there, so there are no use cases for a std lib version. * move some std lib files to the top level fields convention * add std.Thread.spinLoopHint * add std.Thread.Condition * add std.Thread.Semaphore * new implementation of std.Thread.Mutex for Windows and non-pthreads Linux * add std.Thread.RwLock Implementations provided by @kprotty
This commit is contained in:
@@ -16,7 +16,7 @@ pub fn Queue(comptime T: type) type {
|
||||
return struct {
|
||||
head: ?*Node,
|
||||
tail: ?*Node,
|
||||
mutex: std.Mutex,
|
||||
mutex: std.Thread.Mutex,
|
||||
|
||||
pub const Self = @This();
|
||||
pub const Node = std.TailQueue(T).Node;
|
||||
@@ -27,7 +27,7 @@ pub fn Queue(comptime T: type) type {
|
||||
return Self{
|
||||
.head = null,
|
||||
.tail = null,
|
||||
.mutex = std.Mutex{},
|
||||
.mutex = std.Thread.Mutex{},
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user