E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
核心编程笔记
核心编程笔记
9——内核对象的线程同步2
“信号量内核对象”用于对资源进行计数。在信号量内核对象内部,和其他内核对象一样,有一个使用计数,该使用计数表示信号量内核对象被打开的次数。信号量内核对象中还有两个比较重要的数据,分别表示最大资源数和当前资源数。最大资源数表示能够管理的资源的总数,当前资源数表示目前可以被使用的资源数量。 可以使用CreateSeamphore函数来创建一个信号量内核对象,该函数成功返回句柄,失败返回NULL。
mao0514
·
2013-09-29 08:00
Windows
核心编程笔记
: 进程和线程
WindowsPlatformSDK文档声明,进程要等到所有线程终止运行之后才终止运行。就操作系统而言,这种说法是对的。但是,C/C++运行期对应用程序采用了不同的规则,通过调用ExitProcess,使得C/C++运行期启动代码能够确保主线程从它的进入点函数返回时,进程便终止运行,而不管进程中是否还有其他线程在运行。不过,如果在进入点函数中调用ExitThread,而不是调用ExtiProces
fyifei0558
·
2012-12-07 16:00
Windows
核心编程笔记
第十一篇(线程同步,旋转锁,高速缓存行)
为什么需要线程同步:为了避免在一线程对以数据操作过程中(一进行一部分操作但是尚未完成)CPU时间片耗尽当前线程挂起时,另一进城对修改不完全的数据进行操作。如下面这段书上的代码所示://Defineaglobalvariable. longg_x=0; DWORDWINAPIThreadFunc1(PVOIDpvParam) { g_x++; return(0); } DWORDWINAPIThre
zc1016
·
2011-07-22 10:00
python
核心编程笔记
1、 赋值并不是直接将一个值赋给一个变量,尽管你可能根据其它语言编程经验认为应该如此。在Python语言中,对象是通过引用传递的。在赋值时,不管这个对象是新创建的,还是一个已经存在的,都是将该对象的引用(并不是值)赋值给变量。一切皆为对象。Python的赋值语句不会返回值,但可以链式赋值。>>>x =1>>>y=(x=x+1)Traceback( File"",line1 y=(x=x+1)
andoring
·
2011-07-07 12:00
编程
python
File
input
语言
核心编程笔记
9——内核对象的线程同步2
“信号量内核对象”用于对资源进行计数。 在信号量内核对象内部,和其他内核对象一样,有一个使用计数,该使用计数表示信号量内核对象被打开的次数。 信号量内核对象中还有两个比较重要的数据,分别表示最大资源数和当前资源数。最大资源数表示能够管理的资源的总数,当前资源数表示目前可以被使用的资源数量。 可以使用CreateSeamphore函数来创建一个信号量内核对象,该函
·
2010-06-12 16:00
线程同步
WINDOWS
核心编程笔记
(22-27)
第22章插入DLL和挂接API在MicrosoftWindows中,每个进程都有它自己的私有地址空间。当使用指针来引用内存时,指针的值将引用你自己进程的地址空间中的一个内存地址。你的进程不能创建一个其引用属于另一个进程的内存指针。因此,如果你的进程存在一个错误,改写了一个随机地址上的内存,那么这个错误不会影响另一个进程使用的内存。在Windows98下运行的各个进程共享2GB的地址空间,该地址空间
byxdaz
·
2005-12-10 12:00
编程
windows
exception
null
dll
Pointers
WINDOWS
核心编程笔记
(16-21)
第16章线程的堆栈有时系统会在你自己进程的地址空间中保留一些区域。第3章讲过,对于进程和线程环境块来说,就会出现这种情况。另外,系统也可以在你自己进程的地址空间中为线程的堆栈保留一些区域。每当创建一个线程时,系统就会为线程的堆栈(每个线程有它自己的堆栈)保留一个堆栈空间区域,并将一些物理存储器提交给这个已保留的区域。按照默认设置,系统保留1MB的地址空间并提交两个页面的内存。但是,这些默认值是可以
byxdaz
·
2005-12-10 12:00
编程
windows
Microsoft
存储
dll
编译器
WINDOWS
核心编程笔记
(11-15)
第11章线程池的使用为什么要使用线程池?因为创建线程和释放线程是要消耗系统资源的,如果要完成一个工作要不停的创建和释放线程必然会造成很大的系统资源的浪费,所以用线程池。在线程本次工作完成后,不释放线程,让线程等待。再有需要让线程去完成的工作时就把原来创建的线程取过来继续使用。这样节省了重复的创建释放线程的过程。到目前为止,已经知道创建多线程应用程序是非常困难的。需要会面临两个大问题。一个是要对线程
byxdaz
·
2005-12-10 12:00
数据结构
编程
工作
windows
Microsoft
存储
WINDOWS
核心编程笔记
(5-10)
第6章线程的基础知识理解线程是非常关键的,因为每个进程至少需要一个线程。与进程内核对象一样,线程内核对象也拥有属性,本章要介绍许多用于查询和修改这些属性的函数。此外还要介绍可以在进程中创建和生成更多的线程时所用的函数。第4章介绍了进程是由两个部分构成的,一个是进程内核对象,另一个是地址空间。同样,线程也是由两个部分组成的:•一个是线程的内核对象,操作系统用它来对线程实施管理。内核对象也
byxdaz
·
2005-12-10 12:00
WINDOWS
核心编程笔记
(3-5)
第3章内核对象准确地理解内核对象对于想要成为一名Windows软件开发能手的人来说是至关重要的。本章就来说说内核对象。什么是内核对象每个内核对象只是内核分配的一个内存块,并且只能由该内核访问。该内存块是一种数据结构,它的成员负责维护该对象的各种信息。有些数据成员(如安全性描述符、使用计数等)在所有对象类型中是相同的,但大多数数据成员属于特定的对象类型。由于内核对象的数据结构只能被内核访问,因此应用
byxdaz
·
2005-12-10 12:00
数据结构
编程
c
windows
作业
attributes
WINDOWS
核心编程笔记
(1-2)
介绍本书是讲解Windows操作系统内部机制的专著,作者从基本概念入手,全面系统地介绍了Windows的各种基本构件,如进程、线程、DLL和内存管理等,并列举了大量应用程序,精辟地分析了构件的使用方法,为掌握Windows编程技巧提供了一条有效的捷径。对于不同水平的Windows编程人员来说,本书都具有极好的参考价值。第1章对程序错误的处理 在开始介绍Microsoftwindows的特性之
byxdaz
·
2005-12-10 12:00
编程
c
windows
Microsoft
character
编译器
上一页
1
2
3
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他