如何从Thread调用与run()不同的方法
假设我有一个post()
和一个get()
方法,我想从另一个线程运行。 是否可以只使用一个扩展Thread
类来执行此操作,其中这些方法不在run()
方法中?
我想到了这个:
XYThread xy = new XYThread(); xy.start(); xy.post(); xy.get();
但在这种情况下, run()
方法完成后它仍然是multithreading吗?
在run
方法中做工作; 并调用您想要调用的任何方法。
但是, run
和only run
在线程内“调用”。 在发布的代码中, post
和get
都不在xy
线程的上下文中执行; 而是在当前线程的上下文中。
还可以向线程提供Runnable,该线程再次调用其run
方法,这样Thread就不需要进行子类化。 是的,在某种程度上,这意味着创建不同的类或以其他方式嵌入逻辑。
只需从run()
方法调用它。