CreateThread与CreateProcess创建出来的有啥区别的呢?
CreateThread创建出来的线程运行在主进程里面。
那CreateProcess的功能与CreateThread功能主要区别在什么地方的呢?
一般CreateProcess都在什么时候使用它的呢?
一个是创建线程,一个是创建进程
CreateProcess就是你要运行一个程序时会用到...
-
追问:
-
一个创建线程,一个创建进程,这个我看函数名也能够知道
具体CreateProcess 运行一个程序时用到??
不是很懂】
能够在i说明白点儿吗?
-
回答:
-
(1)关于进程
当把硬盘上的可执行文件加载到内存当(运行),就创建了个进程,每加载一个可执行程序就创建了一个进程
进程就是平常任务管理器里看到的,而且第个进程都对应着一个唯一的标识PID
(2)关于线程
而每个进程至少有一个线各来执行代码,想要多个线程执行代码就得用CreateThread来创建线程
(3)进程和线程——每个进程有个主线程
每个进程,必须有至少一个线程,那个必不可少的重要线程,即,该进程的主线程。
进程是一个程序正常运行的表现,而一个进程通常都有多个线程合作工作,其中最重要的那个线程叫主线程,可以说其它线程都是从这个线程中创建的。而一个进程至少要有一个线程,即这个主线程。通常主线程表现了一个进程的外部特性,比如记事本的窗口,你看到的都是主线程绘制的;其它线程可能负责一些后台工作例如查找和文件读写、内存管理等。
从这个角度而言虽然这两个函数一个名字,但做的工作差的十万八千里。
一个等于创建了一个新程序——createProcess
另一个等于启动子线程解决主线程不想做的工作——createThread