关于应用程序运行机制的疑惑
作为一名嵌入式linux的初学者,一直搞不明白linux应用程序的运行机制,举个例子:
例如我需要设计一个应用程序,实现实时的读取三个串口的数据、实时读取一个网口的数据,以及定时向外发送数据,和定时对数据进行存储。
按照以前单片机的思路,肯定是一个while(1)里轮询或中断去解决以上需求就可以了;而在linux应用里,难道也是用while?我知道在linux里应该是不同于单片机的,只是一直对需不需要while循环比较疑惑,因为如果需要实现以上实时数据处理与串口网口的数据,采用while循环,即使是开几路线程,只要是采用了while,势必会让cpu负荷很大。(初学者愚昧之见)。
所以我想请教的是,针对我以上的举例需求,嵌入式linux的一个应用程序设计是不是需要用到while循环?如果不是又怎么实现各需求的实时性工作,如果是,则怎么避免linux的cpu高负荷工作。谢谢。