自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(36)
  • 收藏
  • 关注

原创 windows核心编程9

 第9章 线程与内核对象的同步上一章介绍了如何使用允许线程保留在用户方式中的机制来实现线程同步的方法。用户方式同步的优点是它的同步速度非常快。如果强调线程的运行速度,那么首先应该确定用户方式的线程同步机制是否适合需要。 虽然用户方式的线程同步机制具有速度快的优点,但是它也有其局限性。对于许多应用程序来说,这种机制是不适用的。例如,互锁函数家族只能在单值上运行,根本无法使线程进入等待

2008-02-29 15:40:00 600

原创 windows核心编程8

 第8章用户方式中线程的同步当所有的线程在互相之间不需要进行通信的情况下就能够顺利地运行时,Wi n d o w s的运行性能最好。但是,线程很少能够在所有的时间都独立地进行操作。通常情况下,要生成一些线程来处理某个任务。当这个任务完成时,另一个线程必须了解这个情况。 系统中的所有线程都必须拥有对各种系统资源的访问权,这些资源包括内存堆栈,串口,文件,窗口和许多其他资源。 

2008-02-28 22:25:00 423

原创 windows核心编程7

 第7章线程的调度、优先级和亲缘性抢占式操作系统必须使用某种算法来确定哪些线程应该在何时调度和运行多长时间。每个线程拥有一个上下文结构的,这个结构维护在线程的内核对象中。这个上下文结构反映了线程上次运行时该线程的C P U寄存器的状态。每隔2 0 m s左右,Wi n d o w s要查看当前存在的所有线程内核对象。在这些对象中,只有某些对象被视为可以调度的对象。Wi n d o

2008-02-27 22:47:00 1002

原创 编译与解释

 目标代码高级语言所编制的程序不能直接被计算机识别,必须经过转换才能被执行,按转换方式可将它们分为两类:  解释类:执行方式类似于我们日常生活中的“同声翻译”,应用程序源代码一边由相应语言的解释器“翻译”成目标代码(机器语言),一边执行,因此效率比较低,而且不能生成可独立执行的可执行文件,应用程序不能脱离其解释器,但这种方式比较灵活,可以动态地调整、修改应用程序。 编译类:

2008-02-25 20:27:00 399

转载 JSP数据库连接方式总结

 JSP数据库连接方式总结 现在有好多初学jsp的网友经常会问数据库怎么连接啊,怎么老出错啊?所以我集中的在这写篇文章供大家参考,其实这种把数据库逻辑全部放在jsp里未必是好的做法,但是有利于初学者学习,所以我就这样做了,当大家学到一定程度的时候,可以考虑用MVC的模式开发。在练习这些代码的时候,你一定将jdbc的驱动程序放到服务器的类路径里,然后要在数据库里建一个表test,有两个字

2008-02-25 20:26:00 617

转载 用于 Java 程序(J2SE, JSP/Servlet) 的可直接返回连接以及定时关闭超时连接的连接池程序

用于 Java 程序(J2SE, JSP/Servlet) 的可直接返回连接以及定时关闭超时连接的连接池程序         项目文件说明(本项目文件可以使用 JBuider 7 以上版本打开, 或者 Eclipse 也可以导入本项目):         /archive/jdbc_conn_pool.jar                 打包后的 JAR 文件, 包含所有编译后的类

2008-02-25 20:25:00 970

转载 js 几种常用的表单输入判断

 js 几种常用的表单输入判断//函数名:chksafe//功能介绍:检查是否含有"",//,"/"//参数说明:要检查的字符串//返回值:0:是 1:不是 function chksafe(a){  return 1;/* fibdn = new Array ("" ,"//", "、", ",", ";", "/"); i=fibdn.len

2008-02-25 20:24:00 385

转载 java经典问题:传值还是传引用

 java经典问题:传值还是传引用 经典的问题,但却不容易弄懂,尤其对有c基础的java程序员来说,更容易引起混乱,这里我试图简单点描述。 “java函数是传值的,java函数传递的参数是对象的引用” 这两句话好像初听上去有些矛盾,但却是事实,因而引起很多初学者的混乱。在这里我试图据个简单的例子来说明java的这个特性,可能不全面,希望大家来补全。 public

2008-02-25 20:23:00 912

转载 Java虚拟机

 Java虚拟机一、什么是Java虚拟机Java虚拟机是一个想象中的机器,在实际的计算机上通过软件模拟来实现。Java虚拟机有自己想象中的硬件,如处理器、堆栈、寄存器等,还具有相应的指令系统。1.为什么要使用Java虚拟机Java语言的一个非常重要的特点就是与平台的无关性。而使用Java虚拟机是实现这一特点的关键。一般的高级语言如果要在不同的平台上运行,至少需要编译成不同的目标

2008-02-25 20:22:00 339

转载 利用Java Beans在应用程序中创建组件

 利用Java Beans在应用程序中创建组件 JavaBeans模块使开发人员能够创建称之为组件的软件单元(也就是我们熟知的beans).你可以把beans加载在更复杂的组件、Java小型应用程序(applets)或应用程序上。JavaBeans广泛应用于IDE应用程序,使你能够很容易地可视化组合组件并动态修改它的属性。    Beans是动态的,允许你改变和定制它。在JavaB

2008-02-25 20:19:00 720

转载 asp中session具体是什么

 asp中session具体是什么IE中: 有效的窗品包括 1.Session对象只在建立Session对象的窗口中有效。 2.在建立Session对象的窗口中新开链接的窗口 无效的窗口包括 1.直接启动IE浏览器的窗口 2.不是在建立Session对象的窗口中新开链接的窗口 NetScape中: 只要一个窗口有了某个Session对象,则全部窗口对此Session都有效 Session是

2008-02-25 20:18:00 1658

转载 作用域scope概念

 几乎所有的Web开发语言都支持Session功能,Servlet也不例外。 Servlet/JSP中的Session功能是通过作用域(scope)这个概念来实现的。作用域分为四种,分别为: page 在当前页面有效(仅

2008-02-25 20:17:00 696

转载 JavaScript内置对象

 JavaScript内置对象 作为一门编程语言,JavaScript提供了一些内置的对象和函数。内置对象提供编程的几种最常用的功能。JavaScript内置对象有以下几种。 ● String对象:处理所有的字符串操作 ● Math对象:处理所有的数学运算 ● Date对象:处理日期和时间的存储、转化和表达 ● Array对象:提供一个数组的模型、存储大

2008-02-25 20:16:00 853

原创 JSP内置对象

 JSP内置对象内置对象是不需要声明,直接可以在JSP中使用的对象,JSP有以下几种内置对象:  request request表示HttpServletRequest对象。它包含了有关浏览器请求的信息,并且提供了几个用于获取cookie, header, 和session数据的有用的方法。 response response表示HttpServletResponse对象,并提

2008-02-25 20:15:00 504

转载 浏览器对象

 浏览器对象 浏览器对象就是网页和浏览器本身各种实体元素在JavaScript程序中的体现。这样的浏览器对象主要包括以下几个 ● Navigator:管理者当前使用浏览器的版本号、运行的平台以及浏览器使用的语言等信息。 ● Windows对象:处于整个从属表的最顶级位置。每一个这样的对象代表一个浏览器窗口。 ● Location对象:含有当前网页的URL地址。

2008-02-25 20:14:00 728

原创 windows核心编程6

 第6章线程的基础知识进程是由两个部分构成的,一个是进程内核对象,另一个是地址空间。同样,线程也是由两个部分组成的:* 一个是线程的内核对象,操作系统用它来对线程实施管理。内核对象也是系统用来存放线程统计信息的地方。* 另一个是线程堆栈,它用于维护线程在执行代码时需要的所有函数参数和局部变量(第16章将进一步介绍系统如何管理线程堆栈)。 进程是不活泼的。进程从来不执行任何东

2008-02-24 14:05:00 2248

原创 windows核心编程4

 第4章进程本章介绍系统如何管理所有正在运行的应用程序。首先讲述什么是进程,以及系统如何创建进程内核对象,以便管理每个进程。然后将说明如何使用相关的内核对象来对进程进行操作。接着,要介绍进程的各种不同的属性,以及查询和修改这些属性所用的若干个函数。还要讲述创建或生成系统中的辅助进程所用的函数。当然,如果不深入说明如何来结束进程的运行,那么这样的介绍肯定是不完整的。 进程通常被定义为

2008-02-23 15:46:00 554

原创 windows核心编程3

 第3章内核对象       在介绍Windows API的时候,首先要讲述内核对象以及它们的句柄。准确地理解内核对象对于想要成为一名Wi n d o w s软件开发能手的人来说是至关重要的。内核对象可以供系统和应用程序使用来管理各种各样的资源,比如进程、线程和文件等。 3.1 什么是内核对象      每个内核对象只是内核分配的一个内存块,并且只能由该内核访问。该内存块是一种

2008-02-23 13:49:00 490

转载 ACE 安装指南

  The ADAPTIVE Communication Environment (ACE) 是一套免费的、开源的面向对象框架,它为大规模并发通信软件实现了许多核心的设计模式。ACE提供了一套丰富的、可重用的C++封装类和框架组件,并且可以跨平台实现大多数常见的通信软件的功能。本文将通过几个非常简单,并且可以说是粗糙的小例子,为大家讲述ACE的安装及配置过程。通过这些简单的小例子,带领大家以最快的

2008-02-23 12:08:00 555

转载 ACE在win32平台上的安装,与VC6的集成

 (ACE版本:ACE5.5)wind使用Microsoft Visual C++ 在win32平台上生成和安装ACE:注意:关于MSVC5.0和Service Pack 3的使用有一些问题,过去一些用户在sp2中使用良好的代码在sp3种却会引发一些问题。感谢Bill 的细心查找,这一神秘的问题被解决了。答案?(哦,这儿有一个好答案。。。)这可能是因为有多个版本的sp3较早版本的sp3有一

2008-02-23 12:07:00 618

原创 windows核心编程2

                                                                第2章U n i c o d e2.1 字符集软件的本地化要解决的真正问题,实际上就是如何来处理不同的字符集。问题是,有些文字和书写规则(比如日文中的汉字就是个典型的例子)的字符集中的符号太多了,因此单字节(它提供的符号最多不能超过2 5 6个)是根本不敷使用的。为此出现

2008-02-20 14:12:00 348

原创 windows核心编程1

                                                           第1章对程序错误的处理       在开始介绍Microsoft Windows 的特性之前,必须首先了解Windows的各个函数是如何进行错误处理的。       当调用一个Windows函数时,它首先要检验传递给它的的各个参数的有效性,然后再设法执行任务。如果传递了一个无效参数

2008-02-20 13:36:00 365

原创 事件同步机制

//#include #include #include DWORD WINAPI ServerThread(LPVOID pParam);DWORD WINAPI SessionThread(LPVOID pParam);//HANDLE hEvent=CreateEvent(0,TRUE,FALSE,0); HANDLE event[2000];HANDLE thread[2000];CC

2008-02-14 20:10:00 594

转载 VS.NET2005安装与设置指南

VS.NET2005安装与设置指南 系统要求Visual Studio.NET所需的系统配置如下:处理器:应使用主频不小于450MHz的处理器;内存:如果使用的是Windows NT 4.0 Workstation操作系统,内存应不小于64 MB;如果使用Windows NT 4.0 Server操作系统,内存应不小于160 MB;如果使用Windows 2000 Server操作

2008-02-13 18:02:00 1418

转载 深入浅出Win32多线程程序设计之线程通信

线程之间通信的两个基本问题是互斥和同步。  线程同步是指线程之间所具有的一种制约关系,一个线程的执行依赖另一个线程的消息,当它没有得到另一个线程的消息时应等待,直到消息到达时才被唤醒。   线程互斥是指对于共享的操作系统资源(指的是广义的"资源",而不是Windows的.res文件,譬如全局变量就是一种共享资源),在各线程访问时的排它性。当有若干个线程都要使用某一共享资源时,任何时刻最

2008-02-13 17:43:00 398

原创 创建线程后为什么关闭了线程句柄,线程还是可以运行?

创建线程后为什么关闭了线程句柄,线程还是可以运行?主线程只要拥有线程句柄,事后就可以对线程执行某些操作,比如查询线程状态等等,靠的就是句柄,如果没有句柄,系统就无从知道要查的是那个线程的状态。但保持这个句柄不关闭,并不是线程运行的条件。关闭线程句柄只是释放句柄资源,新开启线程后,如果不再利用其句柄,应该关闭句柄,释放系统资源。关闭线程句柄和线程的结束与否没有关系。句柄可以认为是系统对资

2008-02-13 10:58:00 1000

原创 线程ID 与 线程句柄 区别

以下几点是一些总结:●CreateThread() API 用于创建线程。 API 返回同时线程句柄和线程标识符 (ID)。 线程句柄有完全访问权创建线程对象。 运行线程时线程 ID 唯一标识线程在系统级别。●ID是在Windows系统范围内唯一标示Thread的。    ●Handle是用来操作Thread的,可以有多个,每个HANDLE可以有不同的操作权限,在不同进程OpenThread得

2008-02-13 10:48:00 1465

原创 同步机制的小例子

#include #include     //临界区,互斥体等类包#include DWORD WINAPI ServerThread(LPVOID pParam);DWORD WINAPI SessionThread(LPVOID pParam);int c=100;CCriticalSection g_cs;  //临界区结构对象g_csHANDLE hEvent=NULL;  //

2008-02-11 02:25:00 470

转载 Visual C++线程同步技术剖析

Visual C++线程同步技术剖析摘要: 多线程同步技术是计算机软件开发的重要技术,本文对多线程的各种同步技术的原理和实现进行了初步探讨。关键词: VC++6.0; 线程同步;临界区;事件;互斥;信号量; 正文   使线程同步  在程序中使用多线程时,一般很少有多个线程能在其生命期内进行完全独立的操作。更多的情况是一些线程进行某些处理操作,而其他的线程必须对其处理结果进行了解。正常情况下

2008-02-11 02:23:00 790

原创 c++网络编程学习笔记(5)

 CHAPTER 4. 操作系统并发机制概述一、同步事件多路分离“同步事件多路分离器”是OS提供的一个函数,用于在一组事件源上等待特定事件的发生。当一个或多个事件源被激活时,函数将返回至调用者。于是,调用者可以处理这些“来自多个源”的事件。通常,同步事件多路分离器被用作“反应式服务器”事件循环的基本构件。大都数操作系统都支持一个或多个“同步事件多路分离”函数,例如:l     

2008-02-10 17:35:00 638

原创 进程管理

一、 进程的基本概念     进程既是 OS 中的一个重要概念,又是系统进行资源分配和独立运行的基本单位。学习 OS ,首先必须理解和掌握好进程的概念,为此,读者应认真学习和掌握下述几个方面的内容:    (1) 为什么要引入进程。引入进程是为了使内存中的多道程序能够正确地并发执行。在学习时应清楚地理解为什么程序不能与其他程序并发执行,而由 PCB、程序段和数据段三部分组成地进程实体却能与其他

2008-02-10 17:33:00 742

原创 c++网络编程学习笔记(4)

 CHAPTER 3. 并发设计空间一、循环、并发及反应式服务器循环服务器在处理后续请求之前,会完整地处理每一个客户请求。因此,在处理一个请求时,循环服务器要么将其他请求排成队列,要么忽略它们。循环服务器适合以下两种服务:l       短期服务l       不经常运行的服务在内部,循环服务器常常在“单进程”地址空间中执行服务请求。 并发服务器同时处理多个客户

2008-02-09 21:31:00 464

原创 c++网络编程学习笔记(3)

  CHAPTER 2.Socket API 概述 一、 操作系统IPC机制概述操作系统提供的IPC机制一般分为两类:l       本地IPC ——如 共享内存、管道、门、信号、UNIX领域socket等等,只允许“位于同一计算机上”的实体之间通信。l       远程IPC ——如 Internet领域socket、X.25电路、Win32命名管道,允许“配置或分布在一

2008-02-09 21:29:00 499

原创 c++网络编程学习笔记(2)

 CHAPTER 1.通信设计空间 一、无连接协议与面向连接协议所谓协议,就是一组规则,用来指定“控制信息”和“数据信息”如何在通信实体之间的交换。无连接协议:提供“面向消息”的服务。其中,每一条消息都可以独立寻址和发送。面向连接协议:一种字节流(bytestream)协议,不保护应用程序消息的边界。 二、同步及异步消息交换在很多网络应用程序中,客户向服务器发送

2008-02-09 21:26:00 505

原创 c++网络编程学习笔记(1)

 前序在多个OS平台上开发和移植网络应用程序时,将面临错综复杂的挑战。这些复杂性的表现形式各异:网络协议不兼容,在不同软、硬件平台上具有不同的API和语义的组件库,OS本身的进程间通信(IPC)机制和并发机制的局限性造成的“偶发复杂性”。    直接针对OS API编程会导致以下两个问题:1. 容易出错。因为用C写成的、OS本身的具有的API一般都缺乏安全、可移植、可重入、可扩

2008-02-09 21:24:00 509

转载 QT中的多语言翻译

基本原理:为了在使用多语言,必须做两件事情:1,把想要翻译的字符串放入tr()中,如 QString str=tr("Legal");2, 在开始的时候载入预先制作好的翻译文件(.qm)。以下利用Qt提供的工具,把翻译文件制作出来,并在程序中加载。 实践

2008-02-04 12:59:00 542

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除