In
computing,
scheduling is the method by which work specified by some means is assigned to resources that complete the work. The work may be virtual computation elements such as
threads,
processes or data
flows, which are in turn scheduled onto hardware resources such as
processors, network links or
expansion cards.