使用線程時,當調用從我的主程序thread.start()
方法run()
被稱爲線程像這樣來運行的:我需要一個替代Java中
public class ServerThread implements Runnable {
public void run() {
//executable code
}
public void myMethod() {
//code to hopefully respond to a button press in main class.
}
}
我需要調用myMethod
從現有線程我的主班。但據我所知,這是不可能的,使用Runnable
。有其他方法可以做到嗎?
爲什麼不能引用對象爲在主類'ServerThread'? – Perception 2013-02-28 12:13:20
這並不清楚爲什麼run和myMethod是兩種不同的方法。但無論如何,如果這是您需要的,您可以在運行中調用myMethod。或者,也許你需要完全不同的東西,但是你會有更多的信息來獲得一些幫助。 – 2013-02-28 12:20:02
我也看不出有什麼理由不能從任何線程訪問該方法,只要你有一個對你創建的ServerThread對象的引用即可。它似乎是一個弱設計,從另一個線程調用正在運行的線程的方法(可能會修改某個線程狀態)。看看不同的設計可能是個好主意。 – RudolphEst 2013-02-28 12:22:17