任何人都可以告訴我在Java中如何處理信號?我有一種情況,我需要通過應用程序main()向一個線程發送事件/信號。如何處理Java中的信號/事件
回答
在android上,您可以使用Handler類跨線程發送消息。 Here is the Handler class description和code sample
在Java中,通常會將通知作爲事件傳遞,這意味着發生了某些操作,例如按鈕已被點擊或作爲異常,意味着出現問題,例如嘗試訪問無效位置數組。
另一種方法是使用volatile
變量作爲標誌。
更多的語言不可知的方法是使用標誌,也許某種信號量(即使這些通常更多地用於調節跨競爭線程的訪問)。
你也可以使用套接字,我會假設,但這些通常用於進程間通信。
我會盡量解釋它...
活動:When some action take place.
事件處理:To do certain actions on the basis of the Event.
Eg:
Button - Button is an Event Source
Action - Button Pressed
Pressing of button generates an Event, which is needed to be Handled..
例外:When Something unexpectedly take place.
Throwable --> Exception --> IOException & InterruptedException --> Checked and UnChecked
Exceptions
Eg:
Making a Socket Connection to the Server
If the connection to the Server fails it leads to
UnknowHostException which in need to be Handled..
this is called Exception Handling..
We handle the exception using try/catch blocks
輝煌!!!我想知道如何在使用兩個線程進行通信時使用相同的方法?說我從一個線程讀取一些數據,然後通知寫入線程做一些工作。我經歷了一些博客,其中推薦使用信號量來等待和通知呼叫,這也是有道理的,因爲兩個線程之間的數據需要同步。有沒有其他需要同步的事件?只是爲了通知其他線程? –
如果您不想使用同步,但想要使用wait-notify機制,請使用java.util.concurrent包中的ReerrantLock(),並使用lock() - unlock()以及Condition接口,其中u可以使用await-singal機制,還有一件事...如果你發現這真的很棒,爲什麼我的觀點仍然是0這個答案...哈哈哈.... !! –
- 1. Java中的事件處理
- 2. Java中的事件處理與C#中的事件處理
- 3. 如何處理SIGABRT信號?
- 4. python如何處理信號?
- 5. 信號處理程序vs事件處理程序
- 6. 如何正常處理Java中的SIGKILL信號
- 7. Java - 信號事件模式
- 8. 信號處理
- 9. UNIX中的信號處理
- 10. C++中的信號處理
- 11. Go中的信號處理
- 12. Unix中的信號處理
- 13. Windows中的信號處理
- 14. 如何處理JAVA WatchService溢出事件?
- 15. 如何在Java中優雅地處理SIGTERM信號?
- 16. 處理併發事件的Java Swing事件處理
- 17. 如何編寫sigabrt信號的信號處理程序?
- 18. SIGCHLD信號處理
- 19. MPI信號處理
- 20. Java中的事件處理程序
- 21. Java中事件處理的缺陷
- 22. Java中的事件引發處理
- 23. Java/Android中的事件處理
- 24. Java中的線程和事件處理
- 25. Windows事件處理Java
- 26. 鼠標事件處理Java
- 27. Java事件處理框架
- 28. java swing jtextfiled事件處理
- 29. 事件處理問題 - Java
- 30. Java - 事件處理設計
感謝喬斯林... –