信号通常用于事件驱动的系统和分布式计算环境中。例如,一个通信系统可能包含一个 Pager 类,该类的对象等待接收寻呼信号并作出响应。信号不同于其他消息类型的地方在于:当一个对象接收到信号时,该对象不需要返回任何信息,只需按照它的接收信号指定的行为执行相应的操作。
所有信号都被假定具有一项 send( ) 操作。信号的属性表示它的发送操作中所包含的数据。
可以向模型中的类图添加信号来表示下列功能:
信号的名称用来描述它在系统中的用途。如下图所示,信号的 UML 表示为一个矩形包含两个部分。