@Horusiath that is true. However with preemptive the result is generally that each task gets a certain time-slice in which work can be done. Also to prevent misbehaving code from constantly claiming alot of resources.
If you reduce the throughput in the scheduler to 1, it can be a way to try and simulate that behavior, although it would be most apparent in an saturated env. But then again, it would not be perfect. Because like you say: it wont be able to aggressively take back control of a certain task.