This lesson continues the subject of Active Objects for Real-Time. Specifically, today you'll see how the use of asynchronous, *mutable* events makes Active Objects even more suitable for hard real-time than traditional with a Real-Time Operating System (RTOS).
Contents with Timestamps:
-------------------------
1:40 Adding interactions among Active Objects, first with *sharing*
4:30 Race condition caused by sharing
6:05 Observing consequences of the race condition
8:00 Applying mutual exclusion for protection
9:20 Timing problems caused by mutual exclusion
10:40 Switching over to interactions via *events*
12:00 Naive approach with the static mutable event with parameters
13:30 Receiving event with parameters
15:50 Why static mutable events aren't safe?
16:45 Framework-based, management of mutable events
18:50 Summary of "Zero-copy" event management
19:32 "The Law of Leaky Abstractions"
19:50 Ownership rules for mutable events
-------
Resources:
Companion web page for this video course:
[ Ссылка ]
GitHub repository for projects for this video course:
[ Ссылка ]
Transcript of this lesson:
[ Ссылка ]
Recommended Reading:
Book: "Practical UML Statecharts in C/C++, 2nd Edition":
[ Ссылка ]
Article: "The Law of Leaky Abstractions" by Joel Spolsky
[ Ссылка ]
Music credits:
The background music comes from:
[ Ссылка ]
![](https://i.ytimg.com/vi/e_Mfvat9mAA/maxresdefault.jpg)