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

各位好!请教个可能和线程切换有关的问题!
我工作中遇到一个问题。用的是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