笔记 关于进程

关于进程

 

 进程的组成:

 

1 内核对象,存放关于进程统计信息的地方

 

2 地址空间 包含可执行模块和dll模块的代码和数据。还有动态分配的空间。如线程堆栈和堆分配空间。

 

 

 

 

主线程的进入点函数:即m a i n、w m a i n、Wi n M a i n或w Wi n M a i n

 

 

 

 

1 进程终止运行时的事件

 

 

当进程终止运行时,下列操作将启动运行: 

1) 进程中剩余的所有线程全部终止运行。 

2) 进程指定的所有用户对象和G D I对象均被释放,所有内核对象均被关闭(如果没有其他 进程打开它们的句柄,那么这些内核对象将被撤消。但是,如果其他进程打开了它们的句柄, 内核对象将不会撤消)。 

3) 进程的退出代码将从S T I L L _ A C T I V E改为传递给E x i t P r o c e s s或Te r m i n a t e P r o c e s s的代码。 

4) 进程内核对象的状态变成收到通知的状态(关于传送通知的详细说明,参见第9章)。系 统中的其他线程可以挂起,直到进程终止运行。 

5) 进程内核对象的使用计数递减1。

注意,进程的内核对象的寿命至少可以达到进程本身那么长,但是进程内核对象的寿命可能大大超过它的进程寿命。当进程终止运行时,系统能够自动确定它的内核对象的使用计数。如果使用计数降为0,那么没有其他进程拥有该对象打开的句柄,当进程被撤消时,对象也被撤消。

 

 

 2、创建子进程

 

创建子进程的必要性,为什么不用子线程呢

 

数据同步的问题,子线程会和同一个地址空间内的其他线程共享地址空间,出错时可能会破坏重要数据

 

使用子进程,如果要读写父进程的一些数据,可以通过ole,邮箱,内存映射等机制来

 

 

3 独立的子进程

 

创建子进程之后,在父进程中关闭掉 子进程的主进程和子线程对象句柄。

 

 

4 P r o c e s s I n f o 枚举系统中进程的工具。

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值