现在位置: 首页 > 自动控制 > 工业·编程 > 文章
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是进程句柄,进城同属内核对象,在...
阅读全文
Microsoft Windows 平台中两种最常用的锁定方法为 WaitForSingleObject 和 EnterCriticalSection 。WaitForSingleObject 是一个过载 Microsoft API ,可用于检查和修改许多不同对象(如事件、作业、互斥体、进程、信号、线程或计时器)的状态。Wa itForSingleObject 的一个不足之处是它会始终获取内核的锁定,因此无论是否获得锁定,它都会进入特权模式 ( 环路 0) 。此 API 还进入 Windows 内核,即使指定的超时为 0 ,亦如此。...
阅读全文
首先介绍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可以面向对象编程,也可以面向过程编程。咋一听这些概念和名词有的人可能觉得...
阅读全文
2013-01-16 22:46 工业·编程 ⁄ 共 1135字 暂无评论
首先我们来看看MVC架构的示意图:               和访问者交互的是控制层(Controller层),控制器(controller)是同类交互的集合,每一个交互的操作,都对应了一个动作(action)。在Thinkphp框架中,全部的控制器类都必须继承于Action。 对数据库进行存取的是模型层(Model层),在Thinkphp框架中,全部的模型器类都必须继承于Model。 显...
阅读全文
2013-01-15 22:45 工业·编程 ⁄ 共 3770字 评论 1 条
1 前言 用户界面,特别是图形用户界面,承担着向用户显示问题模型和与用户进行操作和I/O交互的作用。用户希望保持交互操作界面的相对稳定,但更希望根据需要改变和调整显示的内容和形式。例如,要求支持不同的界面标准或得到不同的显示效果,适应不同的操作需求。这就要求界面结构能够在不改变软件的功能和模型情况下,支持用户对界面构成的调整。 要做到这一点,从界面构成的角度看,困难在于:在满足对界面...
阅读全文
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+标识,以便能在应用...
阅读全文
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...
阅读全文
    先来谈谈《程序员》杂志,我刚接触程序员杂志,是在大二,那时,我刚转系到计算机系,一来认识的人少,二来我校的机算机课程与我所期待的大相径庭,我对程序的那股子热情,可真是万千抑郁无处可泄啊。直到有一天,我经过报刊亭时,看到一份杂志的标题特别吸引眼球------《程序员》。“程序员”?我以后好像是要当这个来着,啊,终于找到组织了。我毫不犹豫的买下了那份杂志。记得那时04年的第10期,封面是一个...
阅读全文