簡體   English   中英

在不凍結GUI的情況下用於小任務的線程的替代

[英]Alternative to thread for small tasks without freezing the GUI

我正在編寫一個由gui和幾個按鈕組成的小應用程序。 用戶單擊其中的一個時,程序必須下載一個網頁,進行幾次匹配,然后將值返回給gui。 問題是,每次用戶單擊該按鈕時,我都必須啟動一個新線程,或者對於這些小任務(主要是從Web下載內容),線程還有替代方法嗎?

您始終必須使用其他線程。 現在,如何使用這些不同的線程將由您決定。 看一下producer/consumer方法,其中只有一個空閑線程坐在后台等待工作排隊。 這似乎很適合您的工作。 您還應該盡可能使用SwingWorker ,因為它有助於大量的GUI更新和刷新。 最后,查看java.concurrency包,因為它非常有用。 如今,我認為沒有任何理由無需使用一些可以為您完成所有鎖定和線程化工作的庫來手動啟動Thread。

如果您希望該調用是異步的,則別無選擇。

但是,如果您有足夠的時間讓用戶等待下載完成並處理完畢,則無需線程。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM