【发布时间】:2011-07-31 04:19:41
【问题描述】:
我有一个应用程序,它有一个主对象(包含 Swing GUI)和一个调用对象的 handle() 方法的支持线程。
我注意到当handle() 方法同步时,当线程正在使用handle() 方法时,主对象上的GUI 没有响应。代码:
public synchronized void handle()){
//method code
}
我从 handle() 中删除了 synchronized 关键字,即使线程正在使用 handle() 方法,GUI 也会响应。
需要注意的一个有趣的事情是,当我使用另一个对象作为锁时,当线程使用 handle() 方法时,GUI 会再次响应。代码:
public void handle(){
synchronized(anotherObj){
//method code
}
}
这表明 Swing GUI 使用同步的方法。我对吗?随时向我指出任何资源 - 找不到我想要的。
谢谢。
【问题讨论】:
标签: java multithreading swing user-interface synchronize