- 博客(90)
- 资源 (1122)
- 收藏
- 关注
原创 Windows 的多线程程序设计初步
一般情况下多线程编程多采用MFC类库实现,那么如果不使用MFC 如何进行多线程程序设计呢?本文将就这个问题进行讨论: 微软在Windows API中提供了建立新的线程的函数CreateThread,它的语法如下: hThread = CreateThread (&se...
2008-11-30 13:55:00 87
原创 Visual C++线程同步技术剖析
摘要: 多线程同步技术是计算机软件开发的重要技术,本文对多线程的各种同步技术的原理和实现进行了初步探讨。 关键词: VC++6.0; 线程同步;临界区;事件;互斥;信号量; 阅读目录: 使线程同步 临界区 管理事件内核对象 信号量内核对象 ...
2008-11-30 11:31:00 59
原创 深入浅出Win32多线程程序设计-【5】综合实例
本章我们将以工业控制和嵌入式系统中运用极为广泛的串口通信为例讲述多线程的典型应用。 而网络通信也是多线程应用最广泛的领域之一,所以本章的最后一节也将对多线程网络通信进行简短的描述。 1.串口通信 在工业控制系统中,工控机(一般都基于PC Windows平台)经常需要与单片机通过串口进行通...
2008-11-30 11:30:00 208
原创 深入浅出Win32多线程程序设计-【4】MFC的多线程
1、创建和终止线程 在MFC程序中创建一个线程,宜调用AfxBeginThread函数。该函数因参数不同而具有两种重载版本,分别对应工作者线程和用户接口(UI)线程。 工作者线程 CWinThread...
2008-11-30 11:29:00 113
原创 深入浅出Win32多线程程序设计-【3】线程通信
简介 线程之间通信的两个基本问题是互斥和同步。 线程同步是指线程之间所具有的一种制约关系,一个线程的执行依赖另一个线程的消息,当它没有得到另一个线程的消息时应等待,直到消息到达时才被唤醒。 线程互斥是指对于共享的操作系统资源(指的是广义的"资源",而不是Windows的.res文件,譬如...
2008-11-30 11:27:00 86
原创 深入浅出Win32多线程程序设计-【2】线程控制
WIN32线程控制主要实现线程的创建、终止、挂起和恢复等操作,这些操作都依赖于WIN32提供的一组API和具体编译器的C运行时库函数。 1.线程函数 在启动一个线程之前,必须为线程编写一个全局的线程函数,这个线程函数接受一个32位的LPVOID作为参数,返回一个UINT,线程函数的结构为: ...
2008-11-30 11:26:00 137
原创 深入浅出Win32多线程程序设计-【1】基本概念
引言 从单进程单线程到多进程多线程是操作系统发展的一种必然趋势,当年的DOS系统属于单任务操作系统,最优秀的程序员也只能通过驻留内存的方式实现所谓的"多任务",而如今的Win32操作系统却可以一边听音乐,一边编程,一边打印文档。 理解多线程及其同步、互斥等通信方式是理解现代操作系统的关键一环,当我们精通了Win3...
2008-11-30 11:25:00 103
原创 C# SQLhelper
using System; using System.Configuration; using System.Data; using System.Data.SqlClient; using System.Collections; namespace DBUtility { /// <summary...
2008-11-30 11:12:00 62
原创 操作Active Directory C#
.Net平台操作活动目录Active Directory,使用System.DirectoryServices.ActiveDirectory,主要是User OU 和Group的操作。 代码运行了一年多,还没有出现问题,应该算是经过了验证。 更新的代码在www.codeplex.com/ADBlock /* *Cop...
2008-11-29 21:57:00 159
原创 推荐取代Visio的中国人的软件——Edraw
第一次推荐软件——亿图,一个中国人自己制作的软件。 使用亿图,可以绘制你所需要的各种图形。通过简单的点击,可以成为非比寻常的高质量图表。 使用亿图绘制的图形,让我的文档立马提升了好几个档次。推荐大家试用! 亿图,提供了完全免费的版本:在这里:http://www.edrawmax.com/freemind.php。 要试用完整的版本(目前的版...
2008-11-29 21:41:00 1749
原创 .Net工具 - .NET文档生成工具2.2
ADB2.2下载 ADB2.2源代码下载一、概述程序的注释在程序的编写和维护中扮演着相当重要的角色,在生成工程的同时,说明文档也随之而生了。.NET文档生成工具用于将xml 文档注释生成格式类似MSDN的HTML帮助文档,并编译为CHM文档(下文中将该工具称为ADB,该软件仅测试过.net2.0的程序集)。二、ADB2.2的功能特点1、支持合并多个程序集;2、自动搜索程...
2008-11-29 21:37:00 198
原创 轻量级爬虫+全文检索解决方案项目——NukeLite(2008-11-14 更新r24版 引入新线程机制)...
轻量级爬虫+全文检索解决方案项目——NukeLite svn: http://nukelite.googlecode.com/svn/trunk/ 项目地址:http://code.google.com/p/nukelite/ 开源协议:Apache License 2.0 ==========================...
2008-11-29 21:34:00 83
原创 Javascript工具 - 1st JavaScript Editor Po3.8编辑器下载(已解决智能提示失效问题)
1st JavaScript Editor 是一款先进的JavaScript编辑器,无论对初学者还是专家用户都很适用,软件边侧有着丰富的编辑脚本选择,它提供了卓越的源代码格式样式以及格式美化调整,允许您定制和应用任何源代码格式排列风格,内置了JavaScript调试器,可以帮助您逐行的运行和调试代码,JavaScript编辑器可以用在编辑专业的JavaScript代码、...
2008-11-29 21:32:00 94
原创 UML面向对象分析与建模-【3】用例图
一、用例图的描述 用例(Use Case)是指系统的外部事物(活动者、设备或外部系统)与系统交互,它表达了系统的功能,即系统所提供的服务。 用例图是一种描述用例的可视化工具,用简单的图形元素表示出系统的活动者、用例及它们之间的关系,准确地表达了活动者与系统的交互情况和系统所能提供的服务。用例图是从用户角度而不是从开发者角度来描述对软件产品的需求,分...
2008-11-29 21:07:00 602
原创 UML面向对象分析与建模-【2】UML语言基础
一、UML的主要内容 UML主要文件包括UML概要、UML语义、UML表示法指南和对象约束语言规约。 二、UML的主要特点 UML主要特点包括统一标准、面向对象、可视化及表示能力强大、独立于过程和容易使用掌握。UML不是一个独立的软件工程方法,而是面向对象软件工程方法中的一个部分。UML贯穿软件系统开发的需求分析、系统分析、系统设计、系统...
2008-11-29 21:04:00 439
原创 线程安全的 Singleton - Visual Basic
大抵而言,Singleton 模式应该是设计模式中相当常用的一种了。它能够节省宝贵的 CPU 或内存资源,避免不必要的创建对象开销。然而,在多线程应用中,对于那些非线程安全的数据库组件,传统的 Singleton 将容易造成不稳定。如果使用 Synclock 进行同步,性能损耗可能将更大,特别在并发访问高的 ASP.net 应用中。 前十几...
2008-11-29 16:12:00 75
原创 .net生成静态页方法总结
第1种方法: 用server.Execute(path As String,writer As Sysetem.IO.TextWriter) 方法,这种方法很简单,向服务器放松动态网页请求,获取页面的客户端html代码,然后把内容写进文件里.这种方法写起来比较简单: 1 Dim swHtml As String...
2008-11-29 16:08:00 113
原创 ASP.NET性能优化问题
一、SqlDataRead和Dataset的选择 Sqldataread优点:读取数据非常快。如果对返回的数据不需做大量处理的情况下,建议使用SqlDataReader,其性能要比datset好很多。缺点:直到数据读完才可close掉于数据库的连接 (SqlDataReader 读数据是快速向前的。SqlDataReader 类提...
2008-11-29 16:07:00 76
原创 SQL存储过程(ASP.NET)
在ASP.Net项目中使用存储过程,首先可以提高数据库的安全性,其次可以提高运行SQL代码运行的速度,在大型项目中一般是必不可少的。Visual Studio.Net为SQL的存储过程提供了强大的支持,您既可以通过visual studio.net来新建存储过程,也可以直接在Sql Server的查询分析器中运行,还可以通过企业管理器创建,使用起来也非常方便。大家一直都误认为SQL...
2008-11-29 15:59:00 79
原创 C#与VB.NET代码互相转换在线工具
在线工具--把C#代码转换成VB.NET代码 有不少朋友在网上找资料时经常会遇到想要VB.NET的代码,但却只有C#的代码。 自己改又改不大来! 本人不经意发现有一个在线工具,使用方便。 支持:C#---> VB.NET VB.NET---&g...
2008-11-29 15:56:00 430
原创 Delphi提取EXE,DLL文件图标
//uses ShellAPI procedure TForm1.Button1Click(Sender: TObject); var IconIndex:Word; h:hICON; begin IconIndex:=0; h:=Extract...
2008-11-29 15:51:00 164
原创 MYSQL数据库的查询优化技术
许多程序员在利用一些前端数据库开发工具(如PowerBuilder、Delphi等)开发数据库应用程序时,只注重用户界面的华丽,并不重视查询语句的效率问题,导致所开发出来的应用系统效率低下,资源浪费严重。因此,如何设计高效合理的查询语句就显得非常重要。本文以应用实例为基础,结合数据库理论,介绍查询优化技术在现实系统中的运用。 分析问题 许多程序员认为查询优化是...
2008-11-29 15:50:00 115
原创 U盘插入拔出提示
Unit Unit1; Interface Uses Windows, Messages, SysUtils, Variants, classes, Graphics, Controls, Forms, Dialogs, AppEvnts, ExtCtrls, StdCtrls, She...
2008-11-29 15:49:00 174
原创 Web Services Security (转)
本系列将介绍有关Web Services 安全有关的内容,其中涉及技术: XML Signature,XML Encryption和SAML,WS-Security,WS-Trust等等。在本系列的文章中将主要关注其原理,以及个人对相关技术的理解。在MS不断更新的WSE系列中,安全可以算是其中的重要内容,如果可能将结合原理用WSE做一些技术实践。 Web Se...
2008-11-29 15:41:00 99
原创 海量数据库的查询优化及分页算法方案[转]
海量数据库的 查询优化及分页算法方案 随着“金盾工程”建设的逐步深入和公安信息化的高速发展,公安计算机应用系统被广泛应用在各警种、各部门。与此同时,应用系统体系的核心、系统数据的存放地――数据库也随着实际应用而急剧膨胀,一些大规模的系统,如人口系统的数据甚至超过了1000万条,可谓海量。那么,如何实现快速地从这些超大容量的数...
2008-11-29 15:38:00 67
原创 不足80行,一种清晰而又简单通用的分页算法,你有这么想过吗?C#版
分页,是WEB开发中面对的最常见的编程,实现方法多种多样。我也不来评论这些方法的好坏。 但我总感觉它们太复杂,不够清晰不够简单。我十分欣赏PHP中一个Pager.php分页类的算法。http://www.phpclasses.org/browse/file/288.html,作者不详。也在不同的项目中把这种思想转换成不同语言的分页类,你不妨也试试。 这种算法的思...
2008-11-29 15:32:00 81
原创 jquery插件 - 模板与数据绑定插件
今天重典在群上说的这个,记录一下,以备后查。ASP.NET AJAX 4.0中提供了客户端的数据绑定功能,相信大家都听说过了吧,有兴趣的可以看:Using ASP.NET AJAX Templates废话不说,直接推荐两个jQuery的模板插件:Chain.jsHackszine.com: Chain.js - data binding for jQueryhttp://www...
2008-11-29 15:27:00 127
原创 在SQL Server中使用种子表生成流水号注意顺序
前几天一个人问到了关于流水号重复的问题,我想了下,虽然说这个问题比较简单,但是具有广泛性,所以写了这篇博客来介绍下,希望对大家有所帮助。 在进行数据库应用开发时经常会遇到生成流水号的情况,比如说做了一个订单模块,要求订单号是唯一的,规则是:下订单时的年月日+6位的流水号这样的规则。 对于这种要生成流水号的系统,我们一般是在数据库中新建了一个种子表,每次生成新的订...
2008-11-29 15:26:00 153
原创 .NET设计模式-观察者模式(Observer Pattern)
概述 在软件构建过程中,我们需要为某些对象建立一种“通知依赖关系” ——一个对象(目标对象)的状态发生改变,所有的依赖对象(观察者对象)都将得到通知。如果这样的依赖关系过于紧密,将使软件不能很好地抵御变化。使用面向对象技术,可以将这种依赖关系弱化,并形成一种稳定的依赖关系。从而实现软件体系结构的松耦合。 意图 定义对象间的一种一对多的依赖关系,当一个对...
2008-11-29 14:53:00 88
原创 .NET设计模式-迭代器模式(Iterator Pattern)
概述 在面向对象的软件设计中,我们经常会遇到一类集合对象,这类集合对象的内部结构可能有着各种各样的实现,但是归结起来,无非有两点是需要我们去关心的:一是集合内部的数据存储结构,二是遍历集合内部的数据。面向对象设计原则中有一条是类的单一职责原则,所以我们要尽可能的去分解这些职责,用不同的类去承担不同的职责。Iterator模式就是分离了集合对象的遍历行为,抽象出一个迭代器类...
2008-11-29 14:50:00 109
原创 .NET设计模式-命令模式(Command Pattern)
命令模式(Command Pattern) ——.NET设计模式系列之十七 TerryLee,2006年7月 概述 在软件系统中,“行为请求者”与“行为实现者”通常呈现一种“紧耦合”。但在某些场合,比如要对行为进行“记录、撤销/重做、事务”等处理,这种无法抵御变化的紧耦合是不合适的。在这种情况下,如何将“行为请求者”与“行为实现者...
2008-11-29 14:49:00 91
原创 .NET设计模式-模版方法(Template Method)
摘要:Template Method模式是比较简单的设计模式之一,但它却是代码复用的一项基本的技术,在类库中尤其重要。 主要内容 1.概述 2.Template Method解说 3..NET中的Template Method模式 4.适用性及实现要点 概述 变...
2008-11-29 14:48:00 64
原创 .NET设计模式-代理模式(Proxy Pattern)
代理模式(Proxy Pattern)——.NET设计模式系列之十四Terrylee,2006年5月摘要:在软件系统中,有些对象有时候由于跨越网络或者其他的障碍,而不能够或者不想直接访问另一个对象,如果直接访问会给系统带来不必要的复杂性,这时候可以在客户程序和目标对象之间增加一层中间层,让代理对象来代替目标对象打点一切。这就是本文要说的Proxy模式。 主要内容1.例说...
2008-11-29 14:47:00 72
原创 .NET设计模式-结构型模式专题总结
——探索设计模式系列之十五Terrylee,2006年5月摘要:结构型模式,顾名思义讨论的是类和对象的结构,它采用继承机制来组合接口或实现(类结构型模式),或者通过组合一些对象,从而实现新的功能(对象结构型模式)。这些结构型模式,它们在某些方面具有很大的相似性,仔细推敲,侧重点却各有不同。本文试图对这几种结构型模式做一个简单的小结。主要内容1.结构型模式概述2....
2008-11-29 14:47:00 66
原创 .NET设计模式-享元模式(Flyweight Pattern)
享元模式(Flyweight Pattern) ——.NET设计模式系列之十三 Terrylee,2006年3月 摘要:面向对象的思想很好地解决了抽象性的问题,一般也不会出现性能上的问题。但是在某些情况下,对象的数量可能会太多,从而导致了运行时的代价。那么我们如何去避免大量细粒度的对象,同时又不影响客户程序使用面向对象的方式进行操作?...
2008-11-29 14:46:00 202
原创 .NET设计模式-外观模式(Façade Pattern)
外观模式(Façade Pattern) ——.NET设计模式系列之十二 Terrylee,2006年3月 概述 在软件开发系统中,客户程序经常会与复杂系统的内部子系统之间产生耦合,而导致客户程序随着子系统的变化而变化。那么如何简化客户程序与子系统之间的交互接口?如何将复杂系统的内部子系统与客户程序之间的依赖解耦?这就...
2008-11-29 14:45:00 108
原创 .NET设计模式-组合模式(Composite Pattern)
组合模式(Composite Pattern)——.NET设计模式系列之十一Terrylee,2006年3月概述组合模式有时候又叫做部分-整体模式,它使我们树型结构的问题中,模糊了简单元素和复杂元素的概念,客户程序可以向处理简单元素一样来处理复杂元素,从而使得客户程序与复杂元素的内部结构解耦。意图将对象组合成树形结构以表示“部分-整体”的层次结构。Composite模式使得...
2008-11-29 14:44:00 74
原创 .NET设计模式-装饰模式(Decorator Pattern)
装饰模式(Decorator Pattern)——.NET设计模式系列之十Terrylee,2006年3月概述在软件系统中,有时候我们会使用继承来扩展对象的功能,但是由于继承为类型引入的静态特质,使得这种扩展方式缺乏灵活性;并且随着子类的增多(扩展功能的增多),各种子类的组合(扩展功能的组合)会导致更多子类的膨胀。如何使“对象功能的扩展”能够根据需要来动态地实现?同时避免“扩展功能...
2008-11-29 14:43:00 72
原创 .NET设计模式-桥接模式(Bridge Pattern)
桥接模式(Bridge Pattern)——.NET设计模式系列之九Terrylee,2006年2月概述在软件系统中,某些类型由于自身的逻辑,它具有两个或多个维度的变化,那么如何应对这种“多维度的变化”?如何利用面向对象的技术来使得该类型能够轻松的沿着多个方向进行变化,而又不引入额外的复杂度?这就要使用Bridge模式。意图将抽象部分与实现部分分离,使它们都可以独立的变化。...
2008-11-29 14:42:00 86
原创 .NET设计模式-适配器模式(Adapter Pattern)
适配器模式(Adapter Pattern)——.NET设计模式系列之八Terrylee,2006年2月概述在软件系统中,由于应用环境的变化,常常需要将“一些现存的对象”放在新的环境中应用,但是新环境要求的接口是这些现存对象所不满足的。那么如何应对这种“迁移的变化”?如何既能利用现有对象的良好实现,同时又能满足新的应用环境所要求的接口?这就是本文要说的Adapter 模式。意图...
2008-11-29 14:41:00 101
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人