复习线程、进程

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,是可以提权的启动一个进程。是用于需要更多权限的进程启动,而以这种方式进行提权是被逼无奈的一种方式。

posted @ 2017-08-23 19:15  _xiaohaige  阅读(111)  评论(0编辑  收藏  举报