线程吧
主线程退了 程序就退了
进程内资源对象 大部分是属于进程的 线程只有窗口和钩子是 属于线程的 线程结束了 这2个会给自动卸载
Threadid = GetExitThreadid()
线程ID = GetWindowThreadProcessId(findwindow(“计算机”,进程ID);
同步问题 核心编程上分为2种
一种就是用户模式的 就是进程内同步 不涉及到内核对象
一种是内核对象同步 既然是内核了 全系统拥有
1事件对象 有信号(signed)==没有被使用 无信号(unsigned) ==被使用
2互斥对象
3 计时器对象 // 感觉有点像时钟啊 只不过他能对一堆 处于(被waitforsignedObject导致)等待的线程,如果设置了回调函数 APC回调 不像SETTIMER 只能一个线程搞
4 信号量对象// 计数?
5 线程对象 线程运行为无信号状态 线程结束为没有被使用状态 不能修改状态了
waitforsignedObject()等函数判断对象 在什么状态
EnterCriticalSection ()
这2个都堵塞 正常的流程 如果得不到返回 就一直等待 waitforsignedObject() 是放弃时间片 EnterCriticalSection () 是不停的询问 旋转
waitforsignedObject( ) 一是句柄为无信号状态 OR 无效 二是等待时间到了 就返回了
EnterCriticalSection () 相当于弄了个全局标志位 进去TRUE 出来FALSE
忘了 同步问题的根源是 就是多线程下 和多进程情况下 操作同一个资源的问题
当你写代码的时候想想这个资源是否有可能其他线程或进程操作 如果有 就可能产生同步问题