Существует ли ассинхронное программирование в языке Си и где про него почитать?
Начать с чтения про мультиплексирование неблокирующихся сокетов, epoll, kqueue и iocp, продолжить знакомством с библиотеками libevent и libuv.
Можно поглядеть туториалы по libuv