Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Multithreading in Embedded Systems

I am confused about the following:

I am hoping to get a job in the field of embedded systems. However, every interview I've had seems to end up with a conversation about threads in C and how to do thread-safe programming

My question is how do I go about learning multithreading in embedded systems? Are they the same as POSIX threads? For example, the tasks in FreeRTOS. Are they same thing as pthreads?

Can someone give me some tips on what to do and where to start?

like image 272
Ali Kurabiyeci Avatar asked Nov 21 '25 05:11

Ali Kurabiyeci


1 Answers

Every OS has it's own threads/task/processes characteristics. Despite the differences, the methods to synchronize, guard and interchange data between those, are roughly the same.

If someone knows that you don't know a specific OS, invited you to an interview - he/she probably expects you to answer in general and not to be OS specific. You can solve any problem with POSIX (or any other) tool-set in mind and to mention that migration of the solution to a non-POSIX environment will keep same logic with some minor adaptations.

like image 174
lkanab Avatar answered Nov 23 '25 06:11

lkanab