What is the difference between event objects and condition variables? I am asking in context of WIN32 API.