一句蛮难理解的话:为什么说JAVA的GUI线程不同步。 GUI的线程不是由awt-???-0管理的吗?怎么会不同步呢?? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 因为Swing被设计成单线程的。所以不同步。 谁胡说,Swing是单线程的?Swing是线程不安全的。为提高绘制速度,多线程的。Swing使用单独的消息队列来管理线程的。 答:这句话其实很好理解的,JAVA的GUI线程不同步,是说:在设计Swing与AWT GUI类库时,没有对GUI组件的更新(及其它GUI界面的操作)做多线程的并发处理(也就是说:是假设GUI操作的部分-如:GUI界面的更新 ,是多线程不安全的,只有很少量的GUI操作是多线程安全的),因此,要求程序员,在GUI界面的更新等GUI操作时,只能由事件分发线程这一个线程来进行GUI界面的更新等GUI操作,其它线程(如:你自己定义的许许多多的线程,都不允许直接进行GUI界面的更新等GUI操作(这就是线程不安全的含义),要用SwingUtilities类中的invokeAndWait()或invokeLater()来请求 事件分发线程这一个线程来进行GUI界面的更新等GUI操作).为什么不把Swing GUI类库设计成synchronized的多线程安全的方式?据Swing的主要设计师讲,主要原因是:1)目前主流的GUI类库都是线程不安全的 2)synchronized的多线程安全的方式类库设计复杂的多,在多线程程序员在使用尢其是继承或定制GUI时,对多线程设计容易产生更多的问题 3)性能问题以上仅供你参考 一例子,帮分析 java创建对象的一个问题..来看看 API中解释浮点数运算的一些疑问 请问:inner class中使用的参数为什么必须为final啊? 关于jxta在jBuilder中运行的问题,高分!! JAVA应用程序开发的困惑 大侠:请问如何从键盘从键盘中读入数据(jdk1.3)???期待!!! jar包双击执行 java的菜鸟 的一个菜鸟级问题 JBuilder4安装后还需要怎么设置?绝对给分! Tuxedo 通过Jolt客户端调用TUXEDO服务的一个问题! 求助!java连接sql2005的问题,急!!!
所以不同步。
为什么不把Swing GUI类库设计成synchronized的多线程安全的方式?据Swing的主要设计师讲,主要原因是:1)目前主流的GUI类库都是线程不安全的 2)synchronized的多线程安全的方式类库设计复杂的多,在多线程程序员在使用尢其是继承或定制GUI时,对多线程设计容易产生更多的问题 3)性能问题以上仅供你参考