First of all, you do not need to store this in another local variable: external functions will be available as func_1() or func_2() , and when you want to get this an external class, you simply use A.this .
Secondly, yes, this is the usual way to do this. Also, if you often call func_3 - avoid creating a fixed pool of threads, you should just pass it as params, since creating threads is rather expensive.
source share