C++ Multithreading Basics

C++ Multithreading Basics

Basic Concepts of Multithreading In C++, multithreading allows us to split a program into multiple threads that can run simultaneously. Each thread has its own execution path, and they can share resources of the process, such as memory space, file descriptors, etc. This is different from Python’s multithreading, where due to the Global Interpreter Lock … Read more

Mutex Priority Inheritance in Real-Time Systems

Mutex Priority Inheritance in Real-Time Systems

1. Introduction The core objective of real-time systems is to ensure that tasks are completed at the correct times and within specified time limits. In the design of real-time systems, not only is functional correctness required, but when to start and when to finish are also important considerations. To achieve this goal, compared to general … Read more

How to Communicate Between Threads in C Language

How to Communicate Between Threads in C Language

First, there is no communication issue between threads within the same process. You can access data however you want; thus, we actually need to do something to actively “isolate” different threads to avoid dirty reads and writes. Second, multi-threaded programming (as well as multi-process programming) requires a foundation in operating systems. Without understanding the operating … Read more

Deep Dive Into Thread Synchronization in C#

Deep Dive Into Thread Synchronization in C#

Thread Synchronization in C#: From Basics to Advanced Hello everyone! Today I want to talk with you about the thread synchronization mechanisms in C#. In multi-threaded programming, different threads may access shared resources simultaneously, which is like multiple people trying to grab a hamburger at the same time. If not managed properly, chaos can ensue. … Read more

Introduction to Synchronization and Mutex in FreeRTOS

Introduction to Synchronization and Mutex in FreeRTOS

This article aims to learn and use synchronization and mutex in FreeRTOS. Following the descriptions in this article, you should be able to run the experiment and apply the knowledge. Experimental conditions: Basic knowledge of C language and an integrated development environment installed, such as Keil uVision5. Concepts of Synchronization and Mutex Synchronization is used … Read more

Mutex Issues Between RTOS Tasks

Mutex Issues Between RTOS Tasks

When developing projects based on RTOS, we often encounter mutual exclusion situations, such as: multiple tasks needing to use a single UART port to send data. If mutex locks are not used, a higher priority task may preempt the UART and send data, potentially resulting in “garbled” data being sent. Today, we will discuss a … Read more

The Challenge of Mutex in RTOS Tasks

The Challenge of Mutex in RTOS Tasks

Author | strongerHuang WeChat Official Account | Embedded Column When developing projects based on RTOS, it is common to encounter mutual exclusion situations, for example: multiple tasks need to use a single UART serial port for data transmission. If mutex locks are not added, a higher priority task may preempt the serial port and send … Read more

Inter-Processor Communication: Mailbox and MUTEX

Inter-Processor Communication: Mailbox and MUTEX

For related content, click the card below to follow Arm Technology Academy This article is authorized to be transferred from the WeChat public account TrustZone. This article mainly shares the communication between MailBox and MUTEX. 1 Preface Many solutions in the industry now involve multiple processors, either hard-core processors like Arm A9, A53, or R5, … Read more