![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
多线程
爱篮球爱IT
这个作者很懒,什么都没留下…
展开
-
多线程同步的四种方式——事件对象
问题的引入:模仿12306多人同时抢票。 解决方法:使用事件对象。 事件对象 事件对象也属于内核对象,包含一个使用计数,一个用于指明该事件是一个自动o重置的事件还是一个人工重置的事件的布尔值,另一个用于指明该事件处于已通知状态还是未通知状态的布尔值。 有两种不同类型的事件对象。一种是人工重置的事件,另一种是自动重置的事件。当人工重置的事件得到通知时,等待该事件的所有线程均变成可调度...原创 2019-08-18 16:17:10 · 876 阅读 · 0 评论 -
多线程同步的四种方式——临界区(线程死锁)
问题的引入:模仿12306多人同时抢票。 解决方法:使用临界区对象。 临界区:通过对多线程的串行化来访问公共资源或一段代码,速度快,适合控制数据访问。在任意时刻只允许一个线程对共享资源进行访问,如果有多个线程试图访问公共资源,那么在有一个线程进入后,其他试图访问公共资源的线程将被挂起,并一直等到进入临界区的线程离开,临界区在被释放后,其他线程才可以抢占。它并不是核心对象,不是属于操作系统维护的...原创 2019-08-19 23:03:27 · 1988 阅读 · 0 评论 -
程序、进程和线程的区别
程序、进程和线程 1、程序和进程 程序:是计算机指令的集合,它以文件的形式存储在次磁盘上。 进程:通常被定义为一个正在运行的程序的实例,是一个程序在其自身的地址空间中的一次执行活动。 2、进程 进程是资源申请、调度和独立运行的单位,因此,他使用系统中的运行资源;而程序不能申请系统资源,不能被系统调度,也不能作为独立运行的单位,因此,他不占用系统的运行资源。 进程由两个部分组成: ...原创 2019-08-14 22:53:34 · 829 阅读 · 0 评论 -
多线程同步的四种方式——互斥量
问题的引入:模仿12306多人同时抢票。 问题代码: #include <Windows.h> //需要调用windows Api #include <iostream> using namespace std; DWORD WINAPI Fun1Proc(LPVOID lpParamter); DWORD WINAPI Fun2Proc(LPVOID lpPar...原创 2019-08-14 23:13:12 · 969 阅读 · 0 评论 -
基于多线程的聊天室程序
今天在学习了基于多线程的聊天室程序,另外还加上了socket编程。效果图如下 代码如下: 1、首先我们需要去加载套接字库,MFC中的函数 AfxSocketInit() 包装了函数 WSAStartup(), 在支持WinSock的应用程序的初始化函数IninInstance()中调用AfxSocketInit()进行初始化,程序则不必调用WSACleanUp(). 需要的头文件...原创 2019-08-17 22:41:36 · 619 阅读 · 0 评论