可重入的函数必须满足以下三个条件:
(1)可以在执行的过程中可以被打断;
(2)被打断之后,在该函数一次调用执行完之前,可以再次被调用(或进入,reentered)。
(3)再次调用执行完之后,被打断的上次调用可以继续恢复执行,并正确执行。
线程安全是指多线程执行时,同一资源能够安全地被多个线程同时访问而不引发任何问题,如数据污染或不一致。
现在有一个场景,有个函数只有3行。串口中断可能会调用此函数,正常逻辑也会调用此函数。是否需要加线程锁呢?
不用,直接定义两个函数,fun和fun1就行。3行函数不占啥Flash。
浙公网安备 33010602011771号