Timesharing is a CPU scheduling technique where the CPU is shared among multiple processes. Each process gets a small time slice (quantum). When this quantum expires, the scheduler selects another process to run, and the current process is put back into the queue of processes waiting for CPU time.