let's say I have a method doWork(). How do I call it from a separate thread (not the main thread).
let's say I have a method doWork(). How do I call it from a separate thread (not the main thread).
If you are using at least Java 8 you can use method runAsync from class CompletableFuture
CompletableFuture.runAsync(() -> {...});
If you need to return a result use supplyAsync instead
CompletableFuture.supplyAsync(() -> 1);
To achieve this with RxJava 2.x you can use:
Completable.fromAction(this::dowork).subscribeOn(Schedulers.io().subscribe();
The subscribeOn() method specifies which scheduler to run the action on - RxJava has several predefined schedulers, including Schedulers.io() which has a thread pool intended for I/O operations, and Schedulers.computation() which is intended for CPU intensive operations.