- 博客(5)
- 资源 (1)
- 收藏
- 关注
原创 Windows线程(二)
线程退出在主线程退出时,其它所有线程都会被强制关闭,会导致线程中的一些资源无法被释放在主线程退出之前,应该等待其它线程正常退出线程间参数传递必须保证参数生命周期的有效性可以将参数放到堆上可以通过静态全局变量来达到数据的同步#include <Windows.h>#include <tchar.h>class CThreadParam{public: INT m_nNum;}
2017-06-19 10:36:28 235
原创 Windows线程(一)
线程启动在进入main函数之前已经启动了线程(mainStartup)这个线程是进程的主线程,它的入口函数默认的为main/WinMain该入口函数可以在编译器中进行设置用CreateThread函数创建线程在线程创建时会创建线程内核对象,它是一个结构体,不代表线程本身,主要是便于Windows管理会分配一块线程堆栈空间,每个线程都有自己的堆栈空间HANDLE WINAPI CreateT
2017-06-19 10:13:11 344
原创 进程遍历
对进程的遍历可以通过微软提供的Tool Help库来实现 里面的几个主要函数有HANDLE WINAPI CreateToolhelp32Snapshot( _In_ DWORD dwFlags, _In_ DWORD th32ProcessID//0代表当前进程,);// 该函数用来获取当前进程的快照,通过flags来决定获取的内容,它的返回值将用于之后函数使用BOOL WINAPI
2017-06-14 18:31:08 606
原创 进程权限
进程权限的发展 在DOS时代, 所有程序都能直接操作我们的物理内存操作系统和我们的应用软件都是同一等级的程序,它是不安全的.会造成系统不稳定,毫无保密性 从Win95/98到XP后, 新增了虚拟内存,它杜绝了修改操作系统代码的可能(直接修改物理内存)出现了进程, 它是"完全封闭"(开放了一些接口)的它会使我们的进程没有保密性,我们使用CreateProcess创建一个子进程父进程拥有
2017-06-13 16:51:49 453
原创 Windows进程与线程
进程的组成进程是惰性的进程要做任何事情, 都必须让线程来运行线程执行进程地址空间中包含的代码一个进程可以拥有多个线程所有的线程都能在进程的地址空间中"同时"运行代码每个线程都有它自己的一组CPU寄存器和自己的堆栈每个进程必须有一个线程当系统创建一个进程时, 会自动创建第一个线程, 这个线程我们称为主线程如果没有线程要执行进程地址空间中的代码, 进程就失去了存在的意义此时系统会自动销
2017-06-13 10:51:31 481
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人