线程同步技术:
原子锁
临界区(段)
互斥
事件
信号量(线程示例时已经使用过)
可等候定时器
使用范围:原子锁
效率: 原子锁>临界区(用户态)>互斥(内核态)
一般用临界区。
//等候多个信号
DWORD WaitForMultipleObjects(
DWORD nCount, // number of han...
分类:
编程语言 时间:
2014-07-29 13:14:26
阅读次数:
295
CFileDialog这个类用来选择文件不错,不过针对多选,默认的最大选择文件数量有限,它的最大字符串缓冲大小仅有260,这时候需要对它的数据成员m_ofn进理处理,如下代码所示: DWORD nFileNumbers = 500; //CFileDialog最大选择文件数量 CF...
分类:
其他好文 时间:
2014-07-25 13:55:21
阅读次数:
329
IsDebuggerPresent 这个函数可以用在程序中,检测当前程序是否正在被调试,从而执行退出等行为,达到反调试的作用。
1、IsDebuggerPresent 这个函数从汇编的角度看,就是一下三句代码。下面依次来分析这三句代码的原理。
75593789 K> 64:A1 18000000 mov eax, dword ptr fs:[18]
7559378F ...
分类:
其他好文 时间:
2014-07-25 11:12:51
阅读次数:
352
BOOL CreatePipe(PHANDLE hReadPipe, // 指向读句柄的指针 PHANDLE hWritePipe, // 指向写句柄的指针 LPSECURITY_ATTRIBUTES lpPipeAttributes, // 指向安全属性的指针 DWORD nSize // 管道大...
分类:
其他好文 时间:
2014-07-23 15:46:29
阅读次数:
200
void?get_cpu_id()
{???
char?szBuf[256]?= {0};
unsigned?int?s1?= 0U;
unsigned?int?s2?= 0U;
_asm{?
MOV?EAX,01H?
XOR?EDX,EDX
CPUID????
MOV?DWORD?PTR[s1],EDX???
...
分类:
其他好文 时间:
2014-07-22 22:37:53
阅读次数:
240
HHOOK SetWindowsHookEx(int idHook,HOOKPROC lpfn, HINSTANCE hMod, DWORD dwThreadId);idHook: 钩子类型lpfn:钩子过程的指针 ,也即拦截到指定系统消息后的预处理过程,定义在DLL中hMod:应用程序实...
分类:
其他好文 时间:
2014-07-21 09:16:55
阅读次数:
289
今天遇到新建wcf项目编译成64位版本在64位windows上无法运气的,问题先百度了一下如何查看程序集加载日志:Add the following values toHKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\FusionAdd:DWORD ForceLog set...
分类:
Web程序 时间:
2014-07-19 09:36:27
阅读次数:
301
#include "stdafx.h"#include #include using namespace std;DWORD WINAPI ThreadFuncFirst(LPVOID param){int iCount = 50;while(iCount--){cout<<"\nThreadFun...
分类:
编程语言 时间:
2014-07-17 21:29:18
阅读次数:
209
CFileDialog类SetBitmapLoadImage动态显示图片一、CFileDialog类构造函数CFileDialog( BOOL bOpenFileDialog, LPCTSTR lpszDefExt = NULL, LPCTSTRlpszFileName = NULL, DWORD ...
分类:
其他好文 时间:
2014-07-16 19:28:05
阅读次数:
254
原子锁(原子访问):一个线程在访问某个资源的同时必须确保其他线程不会同时访问此资源。没有实现原子锁的结果://定义一个全局变量long g_lx = 0;DWORD WINAPI ThreadFunc1(PVOID pvParam){ for( int index=0; index<10000...
分类:
编程语言 时间:
2014-07-16 19:11:21
阅读次数:
220