1. A processor comprising: an execution unit; and a thread scheduler configured to schedule a plurality of threads for execution by the execution unit in dependence on a respective runnable status for each thread; wherein the execution unit is configured to execute thread scheduling instructions which manage said runnable statuses, the thread scheduling instructions including at least: one or more source event enable instructions each of which sets an event source to a mode in which it generates an event dependent on activity occurring at that source, and a wait instruction which sets one of said runnable statuses to suspended pending one of said events upon which continued execution of the respective thread depends; wherein said continued execution comprises retrieval of a continuation point vector for the respective thread.