blocking vs nonblocking
blocking vs nonblocking