AWTSWTSwing大比较之一模型设计与实现.docxVIP

  • 1
  • 0
  • 约3.32千字
  • 约 5页
  • 2017-06-12 发布于北京
  • 举报

AWTSWTSwing大比较之一模型设计与实现.docx

AWT/SWT/Swing大比较之一:模型设计与实现 总的来说Swing/AWT和SWT在事件处理机制上是类似的,窗口组件的树状结构也是类似的。图形用户界面系统在事件处理设计上有两大类,一类是单线程模型,一类是多线程模型。在事件处理机制上,三者都是遵循单线程规则。    总的来说Swing/AWT和SWT在事件处理机制上是类似的,窗口组件的树状结构也是类似的。图形用户界面系统在事件处理设计上有两大类,一类是单线程模型,一类是多线程模型。在事件处理机制上,三者都是遵循单线程规则。 ???????? 单线成模型对于事件处理不保证线程安全性(Thread Safety),所有的事件处理都在Event Dispatch Thread(EDT)上进行,此一类事件模型通常叫做单线程模型。这种模型规定所有对组件的访问操作必须在EDT上完成。为什么对于组件的访问需要在 EDT上完成?这主要是为了保证对于组件状态的改变是同步的,保证了界面组件的可确定性。这中模型是大部分图形用户界面工具采用的模型,包括 Swing/AWT、SWT、GTK、WinForm等等。 ???????? 这种模型的好处是,结构设计和代码实现都比较简单,避免了为了实现线程同步的复杂处理。但是也带来了一些问题,最常见的问题是,程序员容易将长时间复杂任 务的处理放在事件处理函数完成,造成EDT线程被阻塞,给用户造成界面失

文档评论(0)

1亿VIP精品文档

相关文档