线程 及 代码执行过程
主要硬件参数:三星S3C2416的CPU主频400MHZ,64M的DDR2,128MB的NandFlash,Windows CE .NET5.0;
//程序创建个线程接收socket数据
//线程回调函数,线程收到socket数据调该函数
bool CEnergy_MonDlg::mysocketData( unsigned char* pIn, long nInLen, unsigned char* pOut, long& nOutLen )
{
test_Revcstart(); //log--写接收开始时间
//解包数据
test_Revcend(); //log--写接收结束时间
SetTimer( TIMER_ID_CONTINUES, 50, NULL ); //通过定时器发送下一个数据
}
void CEnergy_MonDlg::OnTimer(UINT_PTR nIDEvent)
{
case TIMER_ID_CONTINUES:
{
KillTimer( TIMER_ID_CONTINUES );
test_Sendstart(); //log--写发送开始时间
//打包发送数据
test_Sendend(); //log--写发送结束时间
}
break;
}

问题1:发送结束时间的log 比 接收开始的时间 晚?
问题2:发送开始 到 接收结束 时间比较长(单独测试打包,解包,发送,接收时间都还行);怎么改进?
//程序创建个线程接收socket数据
//线程回调函数,线程收到socket数据调该函数
bool CEnergy_MonDlg::mysocketData( unsigned char* pIn, long nInLen, unsigned char* pOut, long& nOutLen )
{
test_Revcstart(); //log--写接收开始时间
//解包数据
test_Revcend(); //log--写接收结束时间
SetTimer( TIMER_ID_CONTINUES, 50, NULL ); //通过定时器发送下一个数据
}
void CEnergy_MonDlg::OnTimer(UINT_PTR nIDEvent)
{
case TIMER_ID_CONTINUES:
{
KillTimer( TIMER_ID_CONTINUES );
test_Sendstart(); //log--写发送开始时间
//打包发送数据
test_Sendend(); //log--写发送结束时间
}
break;
}

问题1:发送结束时间的log 比 接收开始的时间 晚?
问题2:发送开始 到 接收结束 时间比较长(单独测试打包,解包,发送,接收时间都还行);怎么改进?
...全文
相关推荐
primeval-codex:原始代码执行
"原始代码执行"通常指的是对未经编译的编程语言源代码进行解释或编译的过程。在Java中,这个过程涉及到JVM(Java虚拟机)和Java编译器。以下是关于这个主题的详细知识:1.
JavaScript单线程还是多线程
它的核心特性之一是单线程(Single-Threaded),这也是JavaScript设计时的重要考量,以确保代码执行的简单性和一致性。
2023年操作系统实验报告理解Linux下进程和线程的创建并发执行过程.doc
在C语言的实现中,通过pid变量区分父进程与子进程的代码执行路径。
HTML5 Web Workers之网站也能多线程的实现
在HTML4中,JavaScript的单线程特性意味着如果浏览器中的JavaScript代码执行时间过长,将导致整个页面的冻结,用户只能等待代码执行完毕或中止。
查看线程资源占用工具
在排查过程中,还需要关注以下几个方面:1. **线程优先级**:优先级高的线程可能会抢占其他线程的CPU时间,导致资源不均衡。2.


