The following code:
@startuml
participant ProducerThread1
participant ConsumerThread
activate ProducerThread1
ProducerThread1 -> ProducerThread1: Sleep for delay
ProducerThread1 -> ProducerThread1: Set bit 2
ProducerThread1 -> ConsumerThread: Notify
deactivate ProducerThread1
activate ConsumerThread
ConsumerThread -> ConsumerThread: Wait for message
ConsumerThread -> ConsumerThread: Process message
deactivate ConsumerThread
@enduml
Results in the following image:
