NCS/Zephyr project - Working intercangeably with k_mutex & std::mutex

Hello,

In an NCS/Zephyr nRF52840 project I'm using a 3rd party 'plain' cpp library code.

This 'plain' library (written for Linux/RPi) uses the traditional std::mutex/std::sharted_mutex classes for resource synchronization

(along with their friends -  std::lock_guard, std::unique_lock, std::shared_lock).

My questions are -

  • Can std::mutex (and friends) & k_mutex co-exist in the same app?
  • Can they be used interchangeably?
  • What should I be aware of/mitigate?

Thanks

Related