1.1、进程和进程之间是独立的,哪怕是父进程和子进程之间也是独立的。包括他们的内存也是独立的。
1.2、线程和线程之间是独立的:这个独立说的是他们的栈是独立的(数据独立)。
1.3、线程和进程之间是不独立:线程需要运行进程空间中的代码、进程需要线程来运行代码。二者缺一不可,缺了任何一个他们都会消亡。
1.4、所有的线程会在进程结束时消亡(不应该这样)、进程在无任何一个线程运行时消亡(这才是正确的设计)。
1.5、线程应该是自然结束的。不然的话会导致内核对象的泄漏。
1.6、某一根线程被强行关闭时,进程还存在的话会导致内存泄漏。
1.7、总而言之:我们不应该做任何强制关闭当前线程的行为。
1.8、但是在编程中我们可能会碰到需要关闭某一根线程的时候:
1.9、在线程自然退出的时候会做什么事情:调用使用过的对象的析构函数。
1.10、CreateProcess,是当前的一个线程来启动了一个进程。而新启动的这个进程是当前这个进程的一个子进程。
CreateProcess之后实用计数会为二,所以记得CloseHandle。
1.11、ShellExcute,是可以提权的启动一个进程。是用于需要更多权限的进程启动,而以这种方式进行提权是被逼无奈的一种方式。
时间: 2024-10-12 08:35:14