This paper discusses the reuse of software components for describing andimplementing various schedulers.We advocate the design of a generic schedulerbased on object-oriented methodology(namely Smalltalk-80)\footnote{	Smalltalk-80 is a trade mark of Parc Place Systems.}in order to obtain optimal expressivityand reuse.It may be instantiated to match various scheduling policies.This is achieved by defining new scheduler subclasses.Scheduling primitives are proposed as building blocks to be combinedto define scheduling policies.Some virtual methods represent the semantics of electingcurrent processesand may be customized accordingly.This scheduler has been primarily developed forActalk, a testbed for actor languages integrated into Smalltalk-80\footnote{	Actalk \cite{Briot:Actalk:Ecoop:89} stands for 	{\em act}ors in Small{\em talk}-80.},to ease the prototyping of scheduling policies for actors.It proved very useful for specifying various scheduling policiesfor actors (like for instance in the Actor computation modelwhere there are at least two levels of concurrency:inter-object and intra-object).In this paper, we first present the goal of time-sharing algorithms.Then we discuss the goals and motivations leading to the generic scheduler.We then describe its architecture,how it collaborates with the standard scheduler,and the genericity and openness of its design.We shortly discuss its implementation,focusing on some use of reflective techniques in order to open-upthe fixed connection between the Smalltalk-80 virtual machine and thestandard scheduler.We then shortly survey how it can be used to implementstep by step various scheduling policies.We then conclude by summarizing how the full use of object-orientedtechniques allows the genericity of our scheduler,and by comparing to related work.