receive will block thread while send not block thread