rxpy observablesobservers and subjects subscribe(method this keyword is given an appropriate scheduler such as the rx concurrency newthreadscheduler this scheduler will ensure that the observer runs in separate thread to see the difference look at the following two programs the main difference between the programs is the use of specific schedulersimport rx observable rx from_list([ ]observable subscribe(lambda vprint('lambda received' )observable subscribe(lambda vprint('lambda received' )observable subscribe(lambda vprint('lambda received' )the output from this first version is given belowlambda received lambda received lambda received lambda received lambda received lambda received lambda received lambda received lambda received the subscribe(method takes an optional keyword parameter called scheduler that allows scheduler object to be provided now if we specify few different schedulers we will see that the effect is to run the observers concurrently with the resulting output being interwovenimport rx from rx concurrency import newthreadschedulerthreadpoolschedulerimmediatescheduler observable rx from_list([ ]observable subscribe(lambda vprint('lambda received' )scheduler=threadpoolscheduler( )observable subscribe(lambda vprint('lambda received' )scheduler=immediatescheduler()observable subscribe(lambda vprint('lambda received' )scheduler=newthreadscheduler()as the observable runs in separate thread need ensure that the main thread does not terminate input('press enter to finish'