关于线程的wait()+notify(),以及过时的suspend()+resum()的问题,先谢谢大家的解答了 本帖最后由 qasdx1 于 2014-12-19 04:04:24 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 (1)调用线程的 threadA.wait();和threadA.notify(); 时,均会出现 java.lang.IllegalMonitorStateException 异常,具体请见 MyFrame 类 下的 Clicked() 的注释部分。请问这个异常是由什么触发的。会不会与我在线程的run() 方法里面调用 sleep() 有关A: wait/notify 需要放在同步块里面。而且,Wait/notify一般是放在锁对像上,而不是直接在外面调用线程对像的 上(2)为了实现实验要求,我使用了 suspend(); 和 resume(); 这种方法,可是 java 7 中已经明确反对这种方法了。还有没有其他的解决方法。A: Suspend方法可以在线程中加一个判断条件,如果为true则继续执行,如果为false则wait,直到被notify. 如果仅仅为了实现你的题目目标的话,根本用不着wait、notify、suspend、resum等这些啊。在主线程开一个线程就可以搞定了。至于鼠标点击不显示/恢复显示,只需要设置一个标志,每隔n毫秒检测一下标志,如果标志是显示,则显示,如果标志是不显示,就不显示,每个循环中sleep(n)就好了。就这么简单的啊。不懂你为何要搞那么复杂的。 threadA.wait();和threadA.notify(); 需要在同步块中即synchronized 块中 2叉树问题求教 随机输出数字1-54,却只有53个。各位兄弟帮着看看。欢迎拍砖! 判断字符串A中是否包含字符串B的问题,使用contains………… selenium的一个错误,java下可行,php下不行 applet显示不了图片 求Java Swing图形化用户接口设计的电子书籍 Java程序操作其他软件 我想用java实现就像记事本“打开”功能 要如何实现呢? 希望各位前辈不要因为是菜问题就不 赐教!谢谢! abstract interface 关于读取A服务器到B数据库的问题 一道面试题,求解答
(2)为了实现实验要求,我使用了 suspend(); 和 resume(); 这种方法,可是 java 7 中已经明确反对这种方法了。还有没有其他的解决方法。
A: Suspend方法可以在线程中加一个判断条件,如果为true则继续执行,如果为false则wait,直到被notify.
在主线程开一个线程就可以搞定了。至于鼠标点击不显示/恢复显示,只需要设置一个标志,每隔n毫秒检测一下标志,如果标志是显示,则显示,如果标志是不显示,就不显示,每个循环中sleep(n)就好了。就这么简单的啊。不懂你为何要搞那么复杂的。