1. A virtual processor, comprising one or more processors, one or more virtual processing units executing on the one or more processors, each virtual processing unit executing one or more processes or threads (collectively, “threads”), wherein each thread is any of constrained or not constrained to execute on a same virtual processing unit and/or a same processor during a life of that thread, an event delivery mechanism, in communication coupling with the one or more processors, the event delivery mechanism (i) associating each of one or more events with a respective thread, and (ii) selectively notifying such a respective thread of an occurrence of such an associated event, regardless of which virtual processing unit and/or processor that thread is executing on.