线程基本函数: 用户模式下的实现方式有:临界区; 不需要WaitForSingleObject WaitForSingleObject可以使当前线程获取互斥量使用权 WaitForSingleObject,有剩余信号量则使用,没有则阻塞 WIN32提供的最为灵活的方式线程间同步的方式(因为可以设置手动和自动?)
多线程相关函数
//创建一个线程,返回未无符号类型的智能指针,可以强制转化成HANDLE unsigned long _beginthread(StartAddress,//线程处理函数 StackSize,//申请空间大小,设0为默认值 ArgList//线程处理函数参数列表); //创建线程函数,加了ex当然是更加强大,默认参数CreateThread(NULL,0,ThreadFun,"hello",0) unsigned long _beginthreadex(IpThreadAttributes,//NULL,使用默认安全性 dwStackSize,//0,和调用该函数的线程一样大小 IpStartAddress,//线程处理函数,函数名就是函数指针 IpParameter,//线程处理函数需要的参数 dwCreationFlags,//0,立刻执行 IpThreadId);//返回线程ID //线程处理函数 void Sell1(LPVOID ThreadParameter)
//关闭线程句柄函数(仅仅使句柄失效,并没有结束线程),关闭一个**内核**对象 BOOL CloseHandle(HANDLE hObject); //线程挂起 DWORD WINAPI SuspendThread(HANDLE hThread); //将挂起的线程恢复 DWORD WINAPI ResumeThread(HANDLE hThread); //获取当前线程ID GetCurrentThreadId()
//等待某个线程执行完毕 WaitForSingleObject(hThread,//线程对象的句柄 dwMilliseconds)//等待时间,0-INFINETY //等待多个线程执行完毕 WaitForMultipleObject(number_hThread,//输入的数组中线程的数量 hThread,//线程数组 bool,//是否等待所有线程结束再返回 dwMilliseconds)//等待时间,0-INFINETY
线程的同步与互斥实现方式
内核模式下的实现方式有:互斥量、信号量、事件;(只有一个进程可以使用)临界区相关函数
CRITICAL_SECTION Section;//临界区声明 InitializeCriticalSection(&Section);//临界区初始化 EnterCriticalSection(&Section);//进入临界区 LeaveCriticalSection(&Section);//离开临界区,中间执行的代码无法被抢占 bool TryEnterCriticalSection(&Section)//尝试进入临界区,能使线程不被阻塞 DeleteCriticalSection(&Section)//删除临界区
互斥量Mutex相关函数
HANDLE CreateMutex(SemaphoreAttributes,//安全属性,默认NULL InitialOwner,//调用互斥对象的线程是否拥有使用权 Name//信号量的名称,NULL代表匿名信号量) bool ReleaseMutex(hMutex)
信号量(Semaphore)相关函数
HANDLE CreateSemaphore(SemaphoreAttributes,//安全属性,默认NULL InitialCount,//信号量的初始值 MaxCount,//信号量的最大值 Name//信号量的名称,NULL代表匿名信号量) bool ReleaseSemaphore(hSemaphore,//信号量句柄 ReleaseCount,//释放信号量数量 PreviousCount//之前的信号量,可以设为NULL)
事件(Event)相关函数
HANDLE CreateEvent(SemaphoreAttributes,//安全属性,默认NULL bool ManualReset,//是否手动 bool InitialState,//是否初始化为有信号状态 Name//信号量的名称,NULL代表匿名信号量) //创建的Event如果是手动的就要用以下方式来设置Event信号状态,自动的话就用WaitForSingleObject bool SetEvent(hEvent);//设置为有信号状态 bool ResetEvent(hEvent);//设置为无信号状态
本网页所有视频内容由 imoviebox边看边下-网页视频下载, iurlBox网页地址收藏管理器 下载并得到。
ImovieBox网页视频下载器 下载地址: ImovieBox网页视频下载器-最新版本下载
本文章由: imapbox邮箱云存储,邮箱网盘,ImageBox 图片批量下载器,网页图片批量下载专家,网页图片批量下载器,获取到文章图片,imoviebox网页视频批量下载器,下载视频内容,为您提供.
阅读和此文章类似的: 全球云计算