Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Java中处理信号/事件_Java_Android_Signal Handling - Fatal编程技术网

如何在Java中处理信号/事件

如何在Java中处理信号/事件,java,android,signal-handling,Java,Android,Signal Handling,能告诉我Java是如何处理信号的吗?我有一种情况,我需要从application main()向线程发送事件/信号。在Java中,通知通常作为事件传递,这意味着某些操作已经发生,例如按钮被单击,或者作为异常传递,这意味着出现了问题,例如,试图访问数组中的无效位置 另一种方法是使用volatile变量作为标志 一种更不依赖语言的方法是使用标志,可能是某种信号量(尽管它们通常更多地用于调节竞争线程之间的访问) 我想您也可以使用套接字,但它们通常用于进程间通信。在android上,您可以使用Handl

能告诉我Java是如何处理信号的吗?我有一种情况,我需要从application main()向线程发送事件/信号。

在Java中,通知通常作为事件传递,这意味着某些操作已经发生,例如按钮被单击,或者作为异常传递,这意味着出现了问题,例如,试图访问数组中的无效位置

另一种方法是使用
volatile
变量作为标志

一种更不依赖语言的方法是使用标志,可能是某种信号量(尽管它们通常更多地用于调节竞争线程之间的访问)


我想您也可以使用套接字,但它们通常用于进程间通信。

在android上,您可以使用Handler类跨线程发送消息。
我将试着解释一下

事件:
当某些操作发生时。

事件处理:
根据事件执行某些操作。

Eg: 

   Button - Button is an Event Source

   Action - Button Pressed

   Pressing of button generates an Event, which is needed to be Handled..
异常:
当意外发生时。

可丢弃-->异常-->IOException&InterruptedException-->已检查和未检查
异常

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

明亮的我想知道在与两个线程通信时如何使用相同的方法?假设我从一个线程读取了一些数据,然后通知写线程执行一些工作。我浏览了一些博客,其中建议在等待和通知调用中使用in-semaphore,这也是有意义的,因为两个线程之间的数据需要同步。我们是否可以引发其他不需要同步的事件?只是通知其他线程?如果您不想使用同步,但想使用wait notify机制,那么请使用java.util.concurrent包中的ReerrantLock(),并使用lock()-unlock(),以及条件接口,您可以在其中使用wait singal机制,还有一件事……如果您觉得这非常出色,为什么我的答案仍然是0…哈哈哈。。。。!!