_Rekent
2017-11-26 06:11
采纳率: 26.3%
浏览 3.7k

Java一个线程对另一个线程实现控制运行和终止,但不影响两个线程的独立运行?

准备做一个带界面(例使用swing或者javaFX)的定时器,
因为界面相当于开了一个线程我们默认为线程A,计时器倒计时的线程为线程B
线程A负责监听界面的事件,以此来决定线程B的执行和终止
方案一:线程A中监听到事件直接调用线程B,此时线程A会挂起,整个界面需要等线程B完成才能有响应,无法中途终止计时
方案二:线程A与线程B相互wait和Notify实现来回切换,这样计时会不准确

所以怎么样才能在界面决定开始计时后,线程B能默默计时,同时界面仍然可以对线程B实现停止的操作???

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

1条回答 默认 最新

  • 茅坤宝骏氹 2017-11-26 11:15

    一、线程A在while循环中使用Thread.sleep(100)方法睡眠,醒来后检查计时器
    二、javafx有定时器,可以使用它一秒触发一次计时更新,不一定需要线程B

    打赏 评论

相关推荐 更多相似问题