进程考试
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了进程考试相关的知识,希望对你有一定的参考价值。
监视窗口,err,hr
局部变量窗口,err
局部变量窗口,err,hr
监视窗口,err
线程池
文件
临界区
进程
它是由系统统一管理的,应用程序不能直接操作
它是跨进程的,可用来进程间通讯
它被创建后,只能由CloseHandle销毁
CloseHandle函数实际上只是将它的引用计数减一
每个进程都有一个内核对象句柄表,表中句柄仅限于本进程使用
所有内核对象的句柄都可通过其名字得到
要想操作内核对象只能通过其句柄
使用DupLicateHandle函数将一个句柄传递到另一个进程中
进程是一个内核对象
OpenProcess函数可以打开进程得到其句柄
进程肯定是由CreateProcess函数创建的
进程的ID是全局唯一的
CreateToolhelp32Snapshot
Process32Next
Process32First
OpenProcess
可用于进程间通讯
只能是窗口程序才能使用此方法通讯
其lParam参数中携带的是数据
其wParam参数中携带的是要发送的数据大小
线程的功能就是执行代码
线程优先级也就是进程优先级
线程是个内核对象
主线程一旦结束,其他线程也会被结束
事件
信号量
邮槽
互斥体
临界区是个内核对象
临界区可用于线程间同步
进入临界区的线程在释放临界区之前崩溃了,其它等待线程将一直等待
临界区有个拥有者的概念,即拥有者可以无限次调用EnterCriticalSection而不阻塞
互斥体多用于防多开,是因为每个进程只能创建一个
使用CreateMutex函数创建互斥体
拥有者线程在调用ReleaseMutex之前意外结束时,可使自己变成非占有,激发态状态
它有线程拥有权的概念,跟临界区类似
信号量的最大信号数为64个
信号量的初始信号数不能超过最大信号数
信号量是内核对象
当初始信号数不为0时,肯定是处于激发态的
事件是内核对象
对于手动设置的事件对象,等待函数返回时,会自动将其置为激发态
事件对象没有线程拥有者概念,自主性非常强
对于自动设置的事件对象,等待函数返回时,会自动将其置为非激发态
使用重叠IO可提高读写效率
创建重叠IO需要添加创建标志FILE_FLAG_OVERLAPPED
如果使用APC,就把投递的任务放到其中处理
可通过文件句柄或OVERLAPPED中的事件对象来通知是否完成
若这样使用hIoComp = CreateIoCompletionPort(-1,0,0,5)函数,说明是在创建完成端口
使用GetQueuedCompletionStatus函数唤醒线程执行任务
IOCP对象是不可等待的
若这样使用CreateIoCompletionPort(hFile,hIoComp,0,0)函数,说明是在绑定完成端口
进程中的一个线程调用ExitProcess函数
另一个进程中的线程调用TerminateProcess函数
主线程的入口函数返回
进程中的所有线程自行终止运行
需要向进程发送WM_TIMER消息
对象被锁定
特定的内核对象变为未通知状态
特定的内核对象变为已通知状态
动态链接库的载入语句可以出现在程序的任意位置
程序可以随时加载动态链接库
动态链接库如果出现错误,程序能够正常运行。
显式链接的动态链接库的函数地址发生变化时,程序不需要重新编译。
CreateWindow,创建窗口
CreateThread,创建线程
CreateEvent,创建信号量
CreateProcess,创建进程
20.以下函数的功能描述不够准确的是( )
WinExec,可以创建进程
ShellExecute,只可以创建一个进程
CreateThreadpoolWork,创建一个工作项
TerminateProcess,结束其他进1. 在VS中,在()输入(),能够方便的查看错误码
监视窗口,err,hr
局部变量窗口,err
局部变量窗口,err,hr
监视窗口,err
线程池
文件
临界区
进程
它是由系统统一管理的,应用程序不能直接操作
它是跨进程的,可用来进程间通讯
它被创建后,只能由CloseHandle销毁
CloseHandle函数实际上只是将它的引用计数减一
每个进程都有一个内核对象句柄表,表中句柄仅限于本进程使用
所有内核对象的句柄都可通过其名字得到
要想操作内核对象只能通过其句柄
使用DupLicateHandle函数将一个句柄传递到另一个进程中
进程是一个内核对象
OpenProcess函数可以打开进程得到其句柄
进程肯定是由CreateProcess函数创建的
进程的ID是全局唯一的
CreateToolhelp32Snapshot
Process32Next
Process32First
OpenProcess
可用于进程间通讯
只能是窗口程序才能使用此方法通讯
其lParam参数中携带的是数据
其wParam参数中携带的是要发送的数据大小
线程的功能就是执行代码
线程优先级也就是进程优先级
线程是个内核对象
主线程一旦结束,其他线程也会被结束
事件
信号量
邮槽
互斥体
临界区是个内核对象
临界区可用于线程间同步
进入临界区的线程在释放临界区之前崩溃了,其它等待线程将一直等待
临界区有个拥有者的概念,即拥有者可以无限次调用EnterCriticalSection而不阻塞
互斥体多用于防多开,是因为每个进程只能创建一个
使用CreateMutex函数创建互斥体
拥有者线程在调用ReleaseMutex之前意外结束时,可使自己变成非占有,激发态状态
它有线程拥有权的概念,跟临界区类似
信号量的最大信号数为64个
信号量的初始信号数不能超过最大信号数
信号量是内核对象
当初始信号数不为0时,肯定是处于激发态的
事件是内核对象
对于手动设置的事件对象,等待函数返回时,会自动将其置为激发态
事件对象没有线程拥有者概念,自主性非常强
对于自动设置的事件对象,等待函数返回时,会自动将其置为非激发态
使用重叠IO可提高读写效率
创建重叠IO需要添加创建标志FILE_FLAG_OVERLAPPED
如果使用APC,就把投递的任务放到其中处理
可通过文件句柄或OVERLAPPED中的事件对象来通知是否完成
若这样使用hIoComp = CreateIoCompletionPort(-1,0,0,5)函数,说明是在创建完成端口
使用GetQueuedCompletionStatus函数唤醒线程执行任务
IOCP对象是不可等待的
若这样使用CreateIoCompletionPort(hFile,hIoComp,0,0)函数,说明是在绑定完成端口
进程中的一个线程调用ExitProcess函数
另一个进程中的线程调用TerminateProcess函数
主线程的入口函数返回
进程中的所有线程自行终止运行
需要向进程发送WM_TIMER消息
对象被锁定
特定的内核对象变为未通知状态
特定的内核对象变为已通知状态
动态链接库的载入语句可以出现在程序的任意位置
程序可以随时加载动态链接库
动态链接库如果出现错误,程序能够正常运行。
显式链接的动态链接库的函数地址发生变化时,程序不需要重新编译。
CreateWindow,创建窗口
CreateThread,创建线程
CreateEvent,创建信号量
CreateProcess,创建进程
20.以下函数的功能描述不够准确的是( )
WinExec,可以创建进程
ShellExecute,只可以创建一个进程
CreateThreadpoolWork,创建一个工作项
TerminateProcess,结束其他进程
以上是关于进程考试的主要内容,如果未能解决你的问题,请参考以下文章