IGNORE 전략: Backpressure를 적용하지 않는다.
ERROR 전략: Downstream으로 전달할 데이터가 버퍼에 가득 찰 경우, Exception을 발생시키는 전략
DROP 전략: Downstream으로 전달할 데이터가 버퍼에 가득 찰 경우, 버퍼 밖에서 대기하는 먼저 emit 된 데이터부터 Drop 시키는 전략
LATEST 전략: Downstream으로 전달할 데이터가 버퍼에 가득 찰 경우, 버퍼 밖에서 대기하는 가장 최근에(나중에) emit된 데이터부터 버퍼에 채우는 전략.
BUFFER 전략: Downstream으로 전달할 데이터가 버퍼에 가득 찰 경우, 버퍼 안에 있는 데이터를 Drop 시키는 전략
Operator 체인에서 최초의 쓰레드는 subscribe()가 호출되는 scope에 있는 쓰레드이다.
Operator 체인에서 publishOn()이 호출되면 publishOn() 호출 이후의 Operator 체인은 다음 publishOn()을 만나기전까지 publishOn()에서 지정한 Thread에서 실행이 된다.
subscribeOn()은 최상위 Upstream Publisher의 실행 쓰레드를 subscribe() 호출 scope의 쓰레드에서 subscribeOn()dㅔ서 지정한 쓰레드로 바꾼다.
subscribeOn( )과 publishOn( )이 같이 있다면, publishOn( )을 만나기 전 까지의 Upstream Operator 체인은 subscribeOn( )에서 지정한 쓰레드에서 실행되고, publishOn( )을 만날때마다 publishOn( ) 아래의 Operator 체인 downstream은 publishOn( )에서 지정한 쓰레드에서 실행된다.
subscribeOn( )이 publishOn() 뒤에 위치하든 상관없이 publishOn( )을 만나기 전 까지의 Upstream Operator 체인은 subscribeOn( )에서 지정한 쓰레드에서 실행된다
출처