进程是不是由线程创建的~新手。。
进程是不是由线程创建的~新手。。
[解决办法]
线程是由进程创建的
[解决办法]
“是获取哪个线程创建了这个进程呢”
没看懂啥意思。。。
DWORD GetWindowThreadProcessId(HWND hwnd,LPDWORD lpdwProcessld); // 获取窗口的进程ID和线程ID
此函数返回窗口的线程ID和得到该线程所属的进程的ID
[解决办法]
进程是一个术语,用来描述一组资源和程序运行所需的内存分配。对于每一个被加载到内存的exe,在它的生命周期中操作系统会为之创建一个单独隔离的进程。一个进程的失败不会影响其他的进程。
每一个Win32进程都有一个唯一的进程标识(PID),当需要时,它们能被操作系统加载或卸载(也可通过Win32 API编程调用)。
每一个Win32进程都恰好包含一个用作程序入口点(entry point)的主线程。
首先,线程是进程中的基本执行单元(a path of execution)。正式的说法是:进程的入口点创建的第一个线程被称为主线程。Win32 GUI桌面程序使用WinMain()函数作为程序入口点,而一个控制台程序提供Main()函数实现相同的目的。
仅包含一个主线程的进程是线程安全的,这是由于在某个特定时刻只有一个线程访问程序中的数据。然而,如果这个线程正在执行一个复杂的操作(比如:输出一个冗长的文件,运行一个耗时的计算或尝试连接一个数千公里外的远程服务器),那么这个线程所在的进程(特别是GUI程序)对于用户来说会显得像没有响应一样。
由于单线程程序的这个潜在缺陷,Win32 API可让主线程使用如CreateThread()之类的Win32 API函数另外产生次线程(术语也称为工作线程,work thread)。每一个线程(无论主线程还是次线程)都是进程中的一个独立执行单元(unique path of execution),它们能够同时访问那些共享数据。