

zig语言线程安全的LockedFifo这些代码提供一个基于zig标准库std.fifo.LinearFifo创建的带锁的线程安全的LockedFifo类型,性质类似go语言中的channel,用于线程间的通讯。
使用者通过调用函数LockedFifo(comptime T: type, comptime cache_size: isize) type获取该类型,具体用法可以参考src/lockedfifo_test.zig中的测试代码lockedfifo_main()和receiver(...)两个函数。
注意:cache_size参数应该大于0,如果小于(包含)0,将会自动设置成10。
cd src && zig test lockedfifo_test.zig
LockedFifo提供的函数:pub fn LockedFifo(comptime T: type, comptime cache_size: isize) typepub fn writeItem(self: *Self, item: T) !voidpub fn readItem(self: *Self) !Tpub fn close(self: *Self) voidpub fn deinit(self: *Self) void