永发信息网

java中怎样让主线程暂时停止运行,直到鼠标点击按钮以后再继续运行

答案:5  悬赏:20  手机版
解决时间 2021-04-06 17:44
  • 提问者网友:自食苦果
  • 2021-04-06 09:25
java中怎样让主线程暂时停止运行,直到鼠标点击按钮以后再继续运行
最佳答案
  • 五星知识达人网友:轻熟杀无赦
  • 2021-04-06 10:46
请你说明一下这个runevent1过程是哪个线程上运行的。如果这个线程是Swing GUI线程则无法实现(因为按钮运行在Swing GUI线程)。如果是其他线程,那么声明一个共用变量,比如叫lock,则在主线程:
synchronized(lock) {
lock.wait();
}
(每次wait()都要synchronized,这是Java的一个准则)
然后再按钮点击的事件里:
synchronized(lock) {
lock.notify();
}

对了,不要直接调用wait(),因为那样等于调用this.wait(), 结果不堪设想。你要用一个其他的Object, 比如一个class里面的一个static变量:
public static final Object lock = new Object();追问runevent1在主线程上,什么叫共用变量?追答共用变量就是两个线程都能访问的变量。这个放在哪取决于具体情况。比如:
class Utils {
public static final Object myLock = new Object();
}

那这个myLock就可以作为共用变量。两个线程都可以用Utils.myLock来访问这个变量。追问那个runtime1好像是在GUI的线程上,因为是另一个按钮调用了一个方法,然后那个方法调用了runtime1,。这种情况下应该怎么办呢?
全部回答
  • 1楼网友:一叶十三刺
  • 2021-04-06 16:20
鼠标点击暂停 在点击继续吗
  • 2楼网友:洒脱疯子
  • 2021-04-06 14:41
主线程停不了吧!
  • 3楼网友:从此江山别
  • 2021-04-06 13:13
主线程?
不是子线程?
  • 4楼网友:神的生死簿
  • 2021-04-06 12:05
主线程都让你停下来了,你如何能够点击按钮。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯