Subscription and unsubscription are queued and delivered using the scheduler from the supplied coordination.
More...
Go to the source code of this file.
|
template<class... AN> |
auto | rxcpp::operators::subscribe_on (AN &&...an) -> operator_factory< subscribe_on_tag, AN... > |
| Subscription and unsubscription are queued and delivered using the scheduler from the supplied coordination. More...
|
|
Subscription and unsubscription are queued and delivered using the scheduler from the supplied coordination.
- Template Parameters
-
Coordination | the type of the scheduler. |
- Parameters
-
cn | the scheduler to perform subscription actions on. |
- Returns
- The source observable modified so that its subscriptions happen on the specified scheduler.
- Sample Code
printf("[thread %s] Start task\n", get_pid().c_str());
printf("[thread %s] Emit value %d\n", get_pid().c_str(), v);
return v;
});
values.
[](int v){printf("[thread %s] OnNext: %d\n", get_pid().c_str(), v);},
[](){printf("[thread %s] OnCompleted\n", get_pid().c_str());});
printf("[thread %s] Finish task\n", get_pid().c_str());
[thread 47481267428736] Start task
[thread 47481313687296] Emit value 1
[thread 47481313687296] OnNext: 1
[thread 47481313687296] Emit value 2
[thread 47481313687296] OnNext: 2
[thread 47481313687296] Emit value 3
[thread 47481313687296] OnNext: 3
[thread 47481313687296] OnCompleted
[thread 47481267428736] Finish task
Invoking rxcpp::observable::observe_on operator, instead of subscribe_on, gives following results: [thread 47481267428736] Start task
[thread 47481267428736] Emit value 1
[thread 47481267428736] Emit value 2
[thread 47481267428736] Emit value 3
[thread 47481303181056] OnNext: 1
[thread 47481303181056] OnNext: 2
[thread 47481303181056] OnNext: 3
[thread 47481303181056] OnCompleted
[thread 47481267428736] Finish task
#define RXCPP_OPERATORS_RX_SUBSCRIBE_ON_HPP |