- 博客(10)
- 资源 (3)
- 收藏
- 关注
原创 Windows下的线程终止
Windows下的线程可以通过以下4种方法来终止。1、 线程函数返回。(强烈推荐)2、 线程通过调用ExitThread函数“杀死”自己。(避免使用)3、 同一个进程或另一个进程中的线程调用TerminateThread函数(避免使用)4、 包含线程的进程终止运行(避免使用) 1)、线程函数返回(自然死亡)清理工作包括:C
2012-07-28 01:28:22 4179
原创 CreateThread和_beginthreadex
在《Windows核心编程 5th》一书里经常提到一个的建议,那就是:如果写的是C/C++代码,尽量不要用CreateThread来创建线程,而必须调用C/C++运行库函数_beginthreadex。其中的原因摘自书上的原话就是:”标准C/C++运行库不是为多线程应用程序而设计的。”。以全局函数和全局变量为例,在多线程环境中会问题。因为他们是多个线程访问同一个资源,例如调用函数出错后设置err
2012-07-28 01:24:45 1032
原创 标准I/O缓冲机制读书笔记总结和理解
缓冲标准I/O库提供缓冲的目的是尽可能减少read和write调用的次数。它也对每个I/O流自动地进行缓冲管理,从而避免了应用程序需要考虑这一点所带来的麻烦。不幸的是,标准I/O库最令人迷惑的也是它的缓冲。 标准I/O提供了三种类型的缓冲:(1)、全缓冲。在这种情况下,在填满标准I/O缓冲区后才进行实际I/O操作。对于驻留在磁盘上的文件通常是由标准I/O库实施全缓冲的。 (
2012-07-25 18:34:01 1759
原创 ACM水题-排列(解题报告)
排列 Time Limit:1000MS Memory Limit:32768KDescription:Ray又对数字的列产生了兴趣: 现有四张卡片,用这四张卡片能排列出很多不同的4位数,要求按从小到大的顺序输出这些4位数。Input:第一行是一个整数N,表示数据的组数。每组数据占一行,代表四张卡片上的数字(保证四个数字都不同,且0<数字<10)。Outp
2012-07-25 17:10:01 1779
原创 Windows内核对象句柄的继承小总结
对象句柄的继承 跨进程边界共享内核对象有三种常用的机制:为对象命名、复制对象句柄,还有就是使用对象句柄继承。 Windows支持“对象句柄的继承”,而不是支持对象的继承。(这里顺带总结一下,内核对象本质上是一个内存块,是操作系统内核分配,并只能由操作系统内核访问。而句柄标识了所创建的内核对象,与进程相关。句柄的值大概可以认为是进程句柄表的一个索引值,标识内核对象在进程句柄表中的
2012-07-23 22:20:25 4690 1
原创 记第七届ACM校赛-回忆
这一次校赛其实是两个月半之前的事情了---4月29日。那天比赛完之后,自己就想当天写写这一次比赛的事,但是由于那天比赛完之后又马上又赶回家,5个小时的比赛加上2个小时的车程,整个人都觉得很累,所以那天还是没有把这件事写下来。然后这事就一直拖到今天,亿恶的拖延症啊~~~ 其实这一次比赛也木有什么好写的,只是自己从小到大都没有参加过什么比赛,难得有机会参加自己感兴趣的领域的比赛,所以想记下这一
2012-07-21 11:40:05 3391 5
原创 各种ID总结
嗯,看书的时候,自己老是记不住那种ID对应什么作用,所以~~ 用户标识 1、用户ID:口令文件登录项中的用户ID是个数值,它向系统标识各个不同的用户。系统管理员在确定一个用户的登录名的同时,确定其用户ID。用户不能更改其用户ID。通常每个用户有一个唯一的用户ID。 2、组ID:口令文件登录项中也包括用户的组ID,它是一个数值。组ID也由系
2012-07-19 15:36:18 1459
原创 文件描述符、文件表项、V节点表项的一些总结
看书的时候对这三样东西把握得不太清楚,嗯,所以写篇blog来总结一下。 文件描述符(进程级别): 1)、在每个进程表中都有一个记录项,记录项中包含有一张打开文件描述符表,可将其视察为一个矢量(数组),每个描述符占用一项。与每个文件描述符相关联的是: (a)、文件描述符标志。 (b)、指向一个文件表项的指针。(不同的文件描述
2012-07-12 11:26:39 6510 5
原创 关于“线程和fork”的一些疑问和猜想
今天在看《Unix环境高级编程》的时候卡在这一章节很久,在这里有比较多不理解的地方,于是想写篇blog来整理一下。 在“线程和fork ”这一章节中提到了这样一个问题:“在子进程内部只存在一个线程,它是由父进程中调用fork的线程的副本构成的。如果父进程中的线程占有锁,子进程同样占有这些锁。问题是子进程并不包含占有锁的线程的副本,所以子进程没有办法知道它占有哪些锁并且需要释放哪些锁
2012-07-11 01:01:19 754
原创 ACM-Position Arrangement (解题报告)
Time Limit:1000MS Memory Limit:32768KDescription:一个01串,我们可以对相邻两个字符实行交换位置的操作. 求最少的操作次数使得所有的1的位置连续. eg. s="010110",swap(s[1],s[2])之后,变成"001110". 所以答案是1.Input:多组数据,每组数据一个01字符串.串长不超过10^5O
2012-07-04 01:48:37 992
Game Programming Patterns
2014-11-24
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人