2013-01-21 06:41
⁄ 工业·编程
⁄ 共 1761字
WaitForSingleObject函数在线程同步中最为常见,以至于没有太多的话题还需要展开,
那就写一下容易被忽略的细节,引用书中一个例子
[cpp] view plaincopy
DWORD dw = WaitForSingleObject(hProcess, 5000)
switch(dw)
{
case WAIT_OBJECT_0:
break;
case WAIT_TIMEOUT:
break;
case WAIT_FAILED:
break;
}
hProcess是进程句柄,进城同属内核对象,在...
多线程编程阅读全文
2013-01-20 06:39
⁄ 工业·编程
⁄ 共 1568字
Microsoft Windows 平台中两种最常用的锁定方法为 WaitForSingleObject 和 EnterCriticalSection 。WaitForSingleObject 是一个过载 Microsoft API ,可用于检查和修改许多不同对象(如事件、作业、互斥体、进程、信号、线程或计时器)的状态。Wa itForSingleObject 的一个不足之处是它会始终获取内核的锁定,因此无论是否获得锁定,它都会进入特权模式 ( 环路 0) 。此 API 还进入 Windows 内核,即使指定的超时为 0 ,亦如此。...
多线程编程阅读全文
2013-01-19 06:37
⁄ 工业·编程
⁄ 共 4620字
首先介绍CreateEvent是创建windows事件的意思,作用主要用在判断线程退出,程锁定方面.
CreateEvent
函功能描述:创建或打开一个命名的或无名的事件对象. EVENT有两种状态:发信号,不发信号。 SetEvent/ResetEvent分别将EVENT置为这两种状态分别是发信号与不发信号。 WaitForSingleObject()等待,直到参数所指定的OBJECT成为发信号状态时才返回,OBJECT可以是EVENT,也可以是其它内核对象。
当你创建一个线程时,其实...
多线程编程阅读全文
2013-01-18 06:36
⁄ 工业·编程
⁄ 共 797字
前几天, 师弟的程序遇到了一个问题: 在窗口线程里可以改变ProcessCtrl控件的状态, 但把这段代码放在线程里就无法改变ProcessCtrl控件的状态, 其实是线程执行到这段代码,一直停在这里,不往下执行. 差不多花了我一个下午的时间,才找出了原因. 原来是WaitForSingleObject惹的祸. 在窗口线程里创建一个工作线程, 就直接用WaitForSingleObject等待该工作线程的结束, 但在该工作线程里要改变窗...
多线程编程阅读全文
2013-01-17 23:01
⁄ 工业·编程
⁄ 共 2089字
无论是我们在学习php编程的过程中,还是我们已经参加工作后,我们这些码农们津津乐道的就是mvc。但是到底什么才是mvc,mvc的编程到底又有什么好处和坏处,下面,就我一个php新手谈一下我对于mvc的理解。
说到mvc其实就不得不说面向对象,其实php原本并不是面向对象的语言,只是后来引入了java的面向对象。包括现在她也并不是纯的面向对象的语言,php可以面向对象编程,也可以面向过程编程。咋一听这些概念和名词有的人可能觉得...
MVC阅读全文
2013-01-16 22:46
⁄ 工业·编程
⁄ 共 1135字
首先我们来看看MVC架构的示意图: 和访问者交互的是控制层(Controller层),控制器(controller)是同类交互的集合,每一个交互的操作,都对应了一个动作(action)。在Thinkphp框架中,全部的控制器类都必须继承于Action。 对数据库进行存取的是模型层(Model层),在Thinkphp框架中,全部的模型器类都必须继承于Model。 显...
MVC阅读全文
2013-01-15 22:45
⁄ 工业·编程
⁄ 共 3770字
1 前言
用户界面,特别是图形用户界面,承担着向用户显示问题模型和与用户进行操作和I/O交互的作用。用户希望保持交互操作界面的相对稳定,但更希望根据需要改变和调整显示的内容和形式。例如,要求支持不同的界面标准或得到不同的显示效果,适应不同的操作需求。这就要求界面结构能够在不改变软件的功能和模型情况下,支持用户对界面构成的调整。
要做到这一点,从界面构成的角度看,困难在于:在满足对界面...
MVC阅读全文
2013-01-14 23:52
⁄ 工业·编程
⁄ 共 1081字
首先,VS2010中已经有GDI+SDK包的,不需要额外下载 1:在stdafx.h文件中加入下面3行代码,添加相应的头文件和库 #pragma comment( lib, "gdiplus.lib" ) #include "gdiplus.h" using namespace Gdiplus; 2:定义一个全局变量 ULONG_PTR m_gdiplusToken; 其中,ULONG_PTR是一个DWORD数据类型,该成员变量用来保存GDI+被初始化后在应用程序中的GDI+标识,以便能在应用...
GDI, VS2010阅读全文
2013-01-13 22:25
⁄ 工业·编程
⁄ 共 3006字
1、最主要的就是_CrtDumpMemoryLeaks函数,请看MSDN介绍。
首先,定义一个头文件,用其重定义一下new操作符。
》》》C++中避免内存泄漏的几个绝招
下面就是这个:myMemoryNew.h
[html] view plaincopyprint?
#ifndef _MYMEMORYNEW_H
#define _MYMEMORYNEW_H
#ifdef _DEBUG
#include <crtdbg.h>
#define DEBUG_NEW new(_NORMAL_BLOCK ,__FILE__, __LINE__)
#else
#define DEBUG_NEW new
#endif
#endif //_MY...
内存泄漏阅读全文
2013-01-12 22:28
⁄ 工业·编程
⁄ 共 2204字
先来谈谈《程序员》杂志,我刚接触程序员杂志,是在大二,那时,我刚转系到计算机系,一来认识的人少,二来我校的机算机课程与我所期待的大相径庭,我对程序的那股子热情,可真是万千抑郁无处可泄啊。直到有一天,我经过报刊亭时,看到一份杂志的标题特别吸引眼球------《程序员》。“程序员”?我以后好像是要当这个来着,啊,终于找到组织了。我毫不犹豫的买下了那份杂志。记得那时04年的第10期,封面是一个...
书籍推荐, 程序员阅读全文