如下情况:
例如 我有一个 函数A,需要运行差不多 1、2s 时间。
那么它在运行过程中,肯定会被分割成好多个 时间片 来跑,那我能不能有啥方法得知这个函数运行过程中经历了几个时间片????
比如我有一个全局变量 int i ,在 函数A 开始的时候 i=0 ,在 函数A 经历 线程切换的时候,i++ ,这样在 函数A 跑完的时候 我查看 i 就知道经历了几次 线程切换了。能不能实现啊??
例如 我有一个 函数A,需要运行差不多 1、2s 时间。
那么它在运行过程中,肯定会被分割成好多个 时间片 来跑,那我能不能有啥方法得知这个函数运行过程中经历了几个时间片????
比如我有一个全局变量 int i ,在 函数A 开始的时候 i=0 ,在 函数A 经历 线程切换的时候,i++ ,这样在 函数A 跑完的时候 我查看 i 就知道经历了几次 线程切换了。能不能实现啊??
解决方案 »
- 我用MFC ODBC连接数据库时,提示非法的游标位置:未定义键值;求解
- 哪个好人帮我下点东西啊,我怎么也下不下来
- Winhttp如何获得GetLastError的错误消息的说明文本
- 菜鸟的HOOK问题
- CLISTCTRL 如何根据文字内容长度动态调整列宽
- 大家好!原来VC6下有很多IDE资源,在VC.net下谁给推荐一下这样的东东:)?????
- 你用过QuickCHM吗
- 用 ODBC 写数据库,第一次成功,以后都失败,是何原因?在线等待,解决即结贴!
- 新手上路请问各位前辈有关文件读取的问题
- 大虾们,我初学vc,用词不准确,请大家原谅,我想说的是在vc的集成环境下,在resource editor/dialog editor 下,设计一个window,or insert a form,如何在函数中把这个窗口打开
- 一个MVP 的牛语?
- MFC问题
LARGE_INTEGER KernelTime;
LARGE_INTEGER UserTime;
LARGE_INTEGER CreateTime;
ULONG WaitTime;
PVOID StartAddress;
CLIENT_ID ClientId;
KPRIORITY Priority;
KPRIORITY BasePriority;
ULONG ContextSwitchCount;
THREAD_STATE State;
KWAIT_REASON WaitReason;
} SYSTEM_THREADS, *PSYSTEM_THREADS;
__int64 EndTime = 0;
int a[ 3 ] = { 4, 5, 6 }; __asm
{
rdtsc
mov dword ptr [ BegTime ], eax
lea eax, dword ptr [ BegTime ]
mov dword ptr [ eax + 4 ], edx
}
ADD< 3, int >::Result( a ); __asm
{
rdtsc
mov dword ptr [ EndTime ], eax
lea eax, dword ptr [ EndTime ]
mov dword ptr [ eax + 4 ], edx
}
printf("%d___\n",EndTime - BegTime);
不过比支持多核