什麼是使用在Python GUI應用程序的線程,如果應用程序以讀取在某些時候一個大文件的最正確的方法是什麼?可能會有2個線程,1個用於GUI,1個用於讀取文件。 我應該在應用程序啓動時創建線程,還是在必須讀取文件時創建「文件讀取」線程?如何在python GUI應用程序中創建線程?
2
A
回答
1
的問題是相當模糊,你或許應該準確地指定到GUI庫your're參考。
在大多數的GUI我知道但是主要的設計是隻有一個線程(主線程)應該處理GUI,因此其他線程從不直接與用戶交互的界面是非常重要的。通常您允許從不同線程執行的唯一一件事是post
-這是主GUI循環的消息。
例如,如果你需要再進步在主線程中打開進度窗口,開始讀線程,保持張貼信息的閱讀所得,然後,在最後一次消息的程序就完成了。處理這些發佈(異步)消息時,應該在主線程中完成與接口的任何交互。
例如,如果您還需要實現取消按鈕,那麼主線程應該設置一個變量供工作線程注意(對於簡單的變量賦值,在Python中不需要互斥保護,因爲賦值是一個原子操作) 。
相關問題
- 1. 如何組織線程化GUI應用程序(Python)
- 2. 在我的GUI應用程序中創建python控制檯
- 3. 如何在NetBeans中創建這樣的Java GUI應用程序
- 4. 由Javafx創建應用程序GUI
- 5. 爲應用程序創建一個GUI
- 6. android sdk創建非GUI應用程序
- 7. 如何在Microsoft bot應用程序中創建子線程或工作線程
- 8. 在python中創建線程
- 9. 如何創建C++中的多線程應用程序
- 10. 在PowerShell中構建GUI應用程序
- 11. 哪個python gui庫用來創建dock應用程序?
- 12. 如何使用C++爲Windows應用程序創建GUI?
- 13. 如何使用SwiftPM創建Cocoa GUI應用程序
- 14. 如何開始使用C#創建應用程序GUI?
- 15. GUI在多線程應用程序的Wxwidgets中沒有響應
- 16. 如何在Python Command中創建程序?
- 17. 如何創建便攜式gui程序
- 18. 如何爲單個線程化GUI應用程序創建額外的工作線程?
- 19. 在Python中使用Tkinter創建一個簡單的gui程序
- 20. 使用boost庫在vc6中創建多線程應用程序?
- 21. 在非gui線程上創建表單
- 22. 多線程應用程序,即時創建新線程?
- 23. 如何爲Glassfish定製Java應用程序創建GUI?
- 24. Qt 4 GUI應用程序GUI線程使用QNetworkRequests減慢
- 25. 如何用兩個線程創建一個具有高速應用程序的Python應用程序
- 26. 如何在Python GUI應用程序中顯示PostScript文件
- 27. 如何爲Android應用程序創建線程管理器?
- 28. 如何在spring 3上創建在線xul應用程序?
- 29. 如何使用wpf調度程序創建多UI線程winforms應用程序
- 30. 在Windows上使用Qt創建多線程GUI應用程序。如何使用QListWidget?
無論你是最有信心。請記住,其他線程無法訪問大多數GUI庫。嘗試從另一個線程訪問GUI功能會導致GUI崩潰。然而,你可以圍繞做它的其他方式,圖形用戶界面可以很容易地訪問其他線程的任何數據只要你確保鎖定變量等使用它們 – Torxed