-
Notifications
You must be signed in to change notification settings - Fork 759
Home
Welcome to the libgo wiki!
libgo is a library that introduces Go-style concurrency to C++.
It was implemented with C++11, you can build it on Linux & Windows platforms.
The most powerful function in libgo is compatibility.
If you will link a 3-party synchronous library into you program, most of coroutine-library will be blocked when 3-party library called blocking network syscall.
But, if you use libgo
, it can avoid thread blocked. It will hook blocking network syscall to add filescriptor into epoll
, yield
current coroutine and run other coroutines. Wait the filescriptor readable or writable, the coroutine will resume.
So, you can use synchronous library directly in you program, likes hiredis
mysqlclient
, and so on.
libgo
is a complete development framework, it supports most of feature for development, likes coroutine mutex
, coroutine read-write mutex
, channel
, timer
, await
and so on.