我现在代码里面有10几个的线程,但是如何合理的分配线程的优先级呢?我使用的驱动线程和线程优先级如下:
1.串口接收线程 25
2.can1接收线程 20
3.can1发送线程 21
4.can2接收线程 20
5.can2发送线程 21
上面五个线程都是按照官方给的驱动写的.
6.libmodbus_1线程 16
7.libmodbus_2线程 17
8.libmodbus_3线程 18
9.libmodbus_4线程 19
10.串口数据分析线程 26
11.串口发送can1数据线程 22
12.串口发送can2数据线程 22
13.串口发送libmodbus_1_2线程 22
14.串口发送libmodbus_3_4线程 22
15.IWDG看门狗线程 30
线程功能说明:串口线程屎接收上位机指令,然后通过消息队列给到串口数据分析线程。
can1接收线程和can2接收线程都是250ms间隔接收数据,can1发送线程和can2发送线程250ms发送一次指令。
libmodbus_1_4四个线程每隔1s读一次数据
串口发送数据的4个线程,按照顺序,先上传can数据,然后libmodbus_1_2数据,最后是libmodbus3_4数据。
有哪位大神给指点下呗,怎么给线程设置合理的优先级呢
更多回帖