成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

淺談Swing線程三種

開發 后端
本文介紹Swing線程,包括啟動Swing線程或者初始線程,事件分派Swing線程和工作Swing線程。

看到很多地方講述Swing中的并發和多線程問題,感覺講的都不如Sun的教程,這里復述一下關鍵。Swing之所以和多線程緊密聯系在一起是因為圖形界面編程中如果只采取順序編程(也就是你的代碼或任務依次執行),會出現很大的問題,比如你要編寫一個FTP客戶端,你不能讓文件下載的時候,用戶界面死在那里,你既不能取消任務也不能和界面交互吧。所以有必要將耗時的任務,比如文件下載放到一個獨立的線程中處理,而讓用戶同時能夠干其他事情。簡單來說,Swing中有三種線程:

1. 啟動Swing線程或者初始線程: 這個線程負責調用main方法,很多順序編程一開始就用的是這種線程。在Swing中啟動線程負責很少的事務,主要干兩件事情,***件就是創建一個可運行的對象(Runnable Object),這個可運行對象的任務比較重要,它負責初始化圖形界面,第二件就是將這個可運行對象安排到另外一個非常重要的線程,事件分派線程中執行。第二件事情是通過SwingUtilies的invokeLater和invokeAndWait方法來實現的。幾乎所有的創建Swing組件和與Swing組件交互的代碼都要在事件分派線程中執行。

2. 事件分派Swing線程:在Swing中負責事件處理的代碼需要在一個特定的線程中運行,這個線程就是事件分派線程。大部分調用Swing方法的代碼也在這個線程中運行。原因是大部分Swing對象中的方法并不是線程安全的,所以需要這個特定的事件分派線程來保證線程安全。當然也有部分swing對象中的方法指明是線程安全的,這些方法可以在任何線程中調用。你可以將事件分派線程中運行的代碼想象成一系列短小的任務,大部分任務都是調用事件處理方法,例如ActionListener.actionPerformed()方法,其他任務可被程序代碼通過SwingUtilities 的invokeLater/invokeAndWait方法來安排。需要注意的是,在事件分派線程中的任務必須短小精悍,這意味著這些任務能夠很快執行完畢,如果你發現有一個耗時的任務,那么你肯定出錯了,你會發現你的圖形界面經常被卡住,或者死掉了。對于耗時任務你需要另外一個線程,例如工作線程 (Worker Thread)來處理。判斷你的代碼時候運行在事件分派線程上的方法很簡單,使用javax.swing.SwingUtilities.isEventDispatchThread()方法即可。

3. 工作Swing線程(Worker Thread)或者后臺線程(Background Thread):你可以在這個線程中處理耗時任務。

【編輯推薦】

  1. Swing全屏幕模式
  2. 淺談EventQueue in Swing
  3. 瀏覽器的Swing地址欄
  4. AWT和Swing顯示GIF 動畫
  5. SWT比價Swing和AWT
責任編輯:佚名 來源: 博客園
相關推薦

2009-05-07 15:02:42

OracleJoin查詢

2012-03-26 12:23:25

JavaSwing

2009-06-29 18:21:29

Hibernate

2009-06-09 16:53:22

Java Swing處理方法比較

2013-01-10 10:26:56

SQL Server數據庫

2018-04-02 14:29:18

Java多線程方式

2009-07-16 16:01:55

EventQueue

2021-05-12 18:02:23

方法創建線程

2010-09-24 19:18:22

SQL索引

2011-01-18 15:35:59

jQueryJavaScriptweb

2025-04-02 07:22:19

2022-08-24 08:07:11

MyBatisSQLMySQL

2023-08-03 16:02:24

Objectwaitnotify

2022-07-06 07:08:58

CPythonPython返回值

2009-07-17 12:44:01

NetBeans開發S

2009-07-16 12:58:50

Swing控件

2009-07-14 18:28:58

Swing入門

2009-07-15 13:06:38

Swing組件

2009-07-15 14:29:24

構造JListSwing

2022-07-07 00:33:34

Java線程同步
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲精品永久免费 | 亚洲精品福利视频 | av国产精品| 国产精品久久久久久久久久久免费看 | 精精国产xxxx视频在线播放 | 国产乱码精品1区2区3区 | 国产大学生情侣呻吟视频 | 亚洲国产一区二区三区在线观看 | 亚洲国产成人在线 | 激情一区二区三区 | 亚洲在线观看视频 | 二区欧美| 成人免费共享视频 | 亚洲一区国产精品 | 91精品国产乱码久久久久久久久 | www亚洲成人 | 久久国产一区二区三区 | 亚洲午夜精品 | 久久免费观看视频 | 国产欧美日韩综合精品一区二区 | 91视频网址 | 国产在线视频在线观看 | 免费黄色大片 | 日本福利视频免费观看 | 精品av久久久久电影 | 中文字幕一区二区三区四区 | 精品视频免费在线 | 在线视频一区二区三区 | 精品乱码一区二区三四区 | 精品不卡 | av在线天堂 | 久久久久综合 | 97久久久 | 91av视频在线观看 | 亚洲精品9999| www.国产| 91亚洲精品久久久电影 | 欧美激情精品久久久久久 | 丁香婷婷久久久综合精品国产 | 国产精品久久久久国产a级 欧美日本韩国一区二区 | 亚洲+变态+欧美+另类+精品 |