I am trying to use such C++11 classes as e.g. std::mutex or std::atomic. But including (or ) header does not help - either the source file cannot be compiled or application cannot be linked. I was looking for the ways to enable this functionality, but failed. Is there a way to do it? Or does it mean that such functionality is not needed and I do not have to worry about thread safety?
You can’t use standard C++ threading and synchronization mechanisms in Open AT.
It is not possible to create dynamically threads and processes; all you can have is static tasks, declared in the tasks constant table in your app code.
Concerning synchronization aspects, please refer to the ADL documentations, and particularly events and semaphores ADL APIs.
Yes, I’ve read about it already.
But I still have a question. E.g. I have an application with one main task, which subscribes to some system events, like timer, FCM, WIP. Do I have to take possible synchronization problems into account in this case? I mean, problems accessing the same data from different parts of the program.
If your application only uses a single task, you don’t have to worry about reentrancy issues: callbacks provided to ADL services will be executed in sequencial order.
Thanks a lot.
And is it possible to find anywhere a list - what STL features are supported and what are not supported? To escape this kind of problems in the future.