QNX能不能在线程时间片已超时,还能继续执行几句代码

QNX能不能在线程时间片已超时,还能继续执行几句代码,而不被强制打断?!
因为现在一个线程里有几句代码必须在一个连续的时间片里连续执行而不能被打断! :frowning:

可以强行关中断;但你能解释一下为什么“有几句代码必须在一个连续的时间片里执行”?

InterruptDisable();



InterruptEnable();

InterruptDisable()/InterruptEnable()之间的的代码要尽可能少,而且不能有kernel call.

因为这几句代码是往CAN发送缓冲器写数据,而我在两个线程里都有写CAN发送缓冲器的动作,不知道这么处理合理不,刚接触CAN的东东。

添加了关中断处理了,可还是会引起CAN发送帧的丢失。请问xtang 和comquter有没在QNX写过CAN的应用代码呀

看起来像同步问题.加个锁不就行了.