06 2017 档案
摘要:/*对两个线程进行轮流操作。 一个线程输出1-100 第二个线程输出101-200结果:1 101 2 102 。。。。。。。*/ 第一种情况: 可以看出,以上的操作只是普通的输出,而且是按1-200输出。 第二种情况: hThead[0] = CreateThread(nullptr, 0, Th
阅读全文
摘要:当一个线程启动时,会做什么操作:1.创建内核对象2.使用计数3.ExitCode4.Signaled5.Context 线程上下文 存储了CPU的当前状态 IP(指令寄存器)\SP(栈寄存器)6.线程去进程当中申请一块内存,作为当前线程的栈6.线程将lParam、lpStarAddress(线程的入
阅读全文
摘要:线程与线程之间也是互相独立的,互不干扰的。由于每一线程都有自己的堆栈,所以一个线程在一定条件下可以访问另一个线程。 线程是指程序的一个指令执行序列,WIN32 平台支持多线程程序,允许程序中存在多个线程。 在单 CPU 系统中,系统把 CPU 的时间片按照调度算法分配给各个线程,因此各线程实际上是分
阅读全文
摘要:所在目录:当前程序运行的目录。比如:在VS调试程序时,所在目录就是源文件所在的目录。在debug直接运行.exe是,所在目录就是debug所在的目录。 GetCurrentDirectory();获取所在目录。 函数原型:DWORDGetCurrentDirectory( DWORD nBuffer
阅读全文
摘要:程序、进程、线程的关系:以一个比喻来说明:程序就好比一间工厂的蓝图、设计图;进程就是这间工厂的实体;线程就是这间工厂的员工。 结论:由此可以看出,进程(工厂)是静态的,任何操作都是由线程(员工)去完成。注意:进程与进程之间是互相独立的,互不干扰的。同理,线程与线程之间也是互相独立的,互不干扰的。(进
阅读全文
摘要:众所周知,UAC是User Account Control的缩写,其中文翻译为用户帐户控制,其含义可定义为权限令牌。 那么UAC的作用是什么?在计算机扮演一个怎样的角色? 首先,在开始这里输入'UAC'就会出现以下这个界面 从上图可以看到,是一个权限的界面,按程度分“始终提醒” “从不提醒”。 还有
阅读全文
摘要:IO完成端口也是一个内核对象。调用以下函数创建IO完成端口内核对象。 函数参数: hFile 就是设备句柄。 hExistingCompletionPort 是与设备关联的IO完成端口句柄。为NULL时,系统会创建新的完成端口。 dwCompletionKey 是一个对我们有意义的值,但是操作系统并
阅读全文