I'm developing an application that involves three (perhaps more) processes that run concurrently: one HTTP server, one logger and another that will run the primary code.
A priori, a simple solution to do this is to use three threads, one for each task in the program. This is a very simple solution that allows me to exchange information between threads in a very quiet way, if necessary.
However, these three tasks can be performed quite independently and could be done in three different programs, rather than three threads in a single program.
My question then lies in this question: what is the difference between these two approaches? Which would be the most recommendable, considering that the third one is the main thread?
Considerations: The application will run on a very pure Linux system (only with the essential installed) and the hardware is a BeagleBone Black .