当前位置: 代码迷 >> 驱动开发 >> 各位好!请问个可能和线程切换有关的有关问题
  详细解决方案

各位好!请问个可能和线程切换有关的有关问题

热度:61   发布时间:2016-04-28 11:03:49.0
各位好!请教个可能和线程切换有关的问题!
我工作中遇到一个问题。用的是linux系统,linux2.6.14。

void DMX_SendMessgae()
{
  memcpy();//复制一些数据,一般在500字节左右
   
  printf("22222222222");
  //发送消息队列操作
}

void DMX_CallBack()
{
  //互斥锁加锁;
  printf("111111111");
  DMX_SendMessgae();
  //互斥锁解锁
}

DMX_CallBack被调用,首先加锁,然后打印11111出来,调用DMX_SendMessgae,拷贝一些数据,打印222222,将拷贝的数据通过消息队列发送出去。

发现从111111打印到222222打印花费了3S的时间!

请教各位什么情况下会出现这种情况?

------解决方案--------------------
应该是缓存的问题吧
你把printf语句改一下,加个\n试试
printf("11111111111\n");
printf("22222222222\n");

------解决方案--------------------
探讨

应该是缓存的问题吧
你把printf语句改一下,加个\n试试
printf("11111111111\n");
printf("22222222222\n");

------解决方案--------------------
可以参考这个文章
http://blog.csdn.net/taolinke/article/details/6295903
  相关解决方案