当前位置: 首页 > news >正文

潮州 做网站 有钱智能化建设网站

潮州 做网站 有钱,智能化建设网站,关键词优化排名易下拉排名,汽车网站正在建设中模板Win32和c11多线程 一、概念1.线程的特点线程内核对象线程控制块线程是独立调度和分派的基本单位共享进程的资源 2.线程的上下文切换引起上下文切换的原因 3.线程的状态 二、Windows多线程API1.CreateThread创建线程2.获取线程ID3.关闭线程句柄4.挂起线程5.恢复线程6.休眠线程的… Win32和c11多线程 一、概念1.线程的特点线程内核对象线程控制块线程是独立调度和分派的基本单位共享进程的资源 2.线程的上下文切换引起上下文切换的原因 3.线程的状态 二、Windows多线程API1.CreateThread创建线程2.获取线程ID3.关闭线程句柄4.挂起线程5.恢复线程6.休眠线程的执行7.WaitForSingleObject8.终止线程9.获取线程结束码10.WaitForMultipleObjects11.\_beginthread和\_endthreadCreateThread不安全_beginthread_endthread 三、多线程模拟火车站售票1.介绍2.实现3.为什么会出现卖出了第0张票 四、多线程之间的同步和互斥1.临界区临界区结构对象初始化临界区进入和离开临界区尝试进入临界区区别删除临界区 2.线程死锁死锁产生的必要条件 3.信号量临界区与信号量对比相关API(1)创建信号量(2)P操作(3)V操作 实现进程或线程只有一个实例 4.互斥量mutex相关API(1)创建互斥量(2)获得互斥量(3)释放互斥量 示例利用互斥量实现进程只有一个实例 5.事件Event有信号状态和无信号状态相关API(1)创建事件(2)把指定的事件对象设置为有信号状态(3)把指定的事件对象设置为无信号状态(4)等待事件对象的句柄 自动重置事件手动重置事件实现进程只有一个实例 6.PV操作生产者消费者问题 7.总结 五、线程本地存储1.静态TLS2.动态TLS 六、多线程间的消息通讯示例:一个线程向另一个线程发送消息 七、C11多线程 一、概念 ​ 进程要想执行任务必须得有线程线程是进程的基本执行单元一个进程的所有任务都在线程中执行。 1.线程的特点 线程内核对象 线程控制块 线程是独立调度和分派的基本单位 共享进程的资源 2.线程的上下文切换 引起上下文切换的原因 3.线程的状态 二、Windows多线程API 头文件#includeWindows.h 1.CreateThread创建线程 参数说明 线程的句柄是一块地址线程ID可以用GetCurrentThreadId()函数获得。 2.获取线程ID 3.关闭线程句柄 关闭句柄后线程还会继续执行。 4.挂起线程 5.恢复线程 6.休眠线程的执行 7.WaitForSingleObject 等待一个内核对象变为已通知状态。这个函数常用于线程同步确保一个线程在继续执行之前等待某个事件如线程结束、互斥体释放、信号量达到等。 未通知状态该句柄关联的线程未结束仍在执行。 已通知状态该句柄关联的线程执行结束。 参数 hHandle等待的对象的句柄。这个句柄可以是各种同步对象如事件、互斥体、信号量、进程或线程。dwMilliseconds超时时间以毫秒为单位。如果设置为 INFINITE表示无限等待直到对象进入信号状态。 返回值 WaitForSingleObject 返回一个 DWORD 值表示函数的结果。常见的返回值包括 WAIT_OBJECT_0指定的对象已进入信号状态。WAIT_TIMEOUT等待超时指定的对象在超时时间内未进入信号状态。WAIT_FAILED函数调用失败。可以通过调用 GetLastError 函数获取扩展错误信息。 8.终止线程 9.获取线程结束码 10.WaitForMultipleObjects 参数说明 11._beginthread和_endthread CreateThread不安全 _beginthread 参数说明 返回值 _endthread 三、多线程模拟火车站售票 1.介绍 2.实现 3.为什么会出现卖出了第0张票 四、多线程之间的同步和互斥 1.临界区 临界区结构对象 初始化临界区 进入和离开临界区 如果这样加锁那么只要有一个线程进入临界区除非所有票卖完否则不会释放临界区。 如果这样加锁又会出现卖出第0张票的情况。 最后这种情况修改代码在进入临界区后再次判断可以避免上述情况。 尝试进入临界区 区别 删除临界区 2.线程死锁 死锁产生的必要条件 3.信号量 临界区与信号量对比 临界区 用于保护共享资源的代码块确保在同一时间只有一个线程能够执行该代码块。 通常用于同一进程内的线程同步。 信号量 是一种更通用的同步机制允许多个线程同时访问一定数量的共享资源。 可以用于进程间同步IPC。 相关API (1)创建信号量 (2)P操作 (3)V操作 实现进程或线程只有一个实例 虽然每个进程有自己的地址空间但命名对象如命名信号量、命名互斥体等是在系统范围内共享的。这意味着即使进程有各自的地址空间命名对象在创建时会注册在操作系统的命名空间中其他进程可以通过同样的名字访问这些对象。 在 Windows 操作系统中命名对象包括信号量、互斥体、事件等在系统命名空间中共享。也就是说当一个进程创建一个命名信号量时操作系统会将该信号量注册在全局命名空间中。其他进程如果尝试创建或打开同名的信号量就可以访问到这个信号量。 4.互斥量mutex 相关API (1)创建互斥量 bInitialOwner指定调用线程是否在互斥对象的初始状态下获得所有权。如果这个值为 TRUE调用线程在互斥对象创建成功后立即获得所有权否则互斥对象的初始状态为非信号状态。 (2)获得互斥量 (3)释放互斥量 示例 利用互斥量实现进程只有一个实例 5.事件Event 有信号状态和无信号状态 在 Windows 操作系统中事件对象用于线程同步其状态可以是“有信号”signaled或“无信号”nonsignaled。这两种状态用于控制线程的执行具体如下 当事件对象处于有信号状态时所有等待该事件的线程都将被解除阻塞并继续执行。这意味着事件发生了等待的线程可以继续进行它们的工作。当事件对象处于无信号状态时所有等待该事件的线程都将被阻塞直到事件对象的状态变为有信号。这意味着事件尚未发生等待的线程需要等待直到事件发生。 事件对象可以分为两种类型自动重置事件auto-reset event和手动重置事件manual-reset event。这两种类型的事件对象在状态变更和重置机制上有所不同。 当事件对象处于有信号状态时等待的线程将被解除阻塞然后事件对象自动重置为无信号状态。如果有多个线程在等待事件只有一个线程会被解除阻塞。当事件对象处于有信号状态时所有等待的线程将被解除阻塞并且事件对象保持有信号状态直到显式调用 ResetEvent 函数将其状态重置为无信号状态。 相关API (1)创建事件 (2)把指定的事件对象设置为有信号状态 (3)把指定的事件对象设置为无信号状态 (4)等待事件对象的句柄 自动重置事件 手动重置事件 实现进程只有一个实例 6.PV操作 生产者消费者问题 7.总结 五、线程本地存储 1.静态TLS 2.动态TLS 六、多线程间的消息通讯 示例:一个线程向另一个线程发送消息 使用PeekMessage写法如下 七、C11多线程
http://www.hkea.cn/news/14590141/

相关文章:

  • 网站开发和wordpress不允许注册
  • 邢台seo网站制作网站自适应 常用尺寸
  • 九江专业的企业网站建设公司从山海经取公司名
  • 有那种做订单的网站吗wordpress登录查看插件
  • 国外优秀设计网站推荐网站建设时如何选择合适的服务器
  • 做网站需要哪类商标微信小程序一起生活怎么注册
  • 响应式网站和自适应网站区别wordpress将用户锁在前台
  • 深圳外贸网站怎么建怎么看一个网站是由哪个公司做的
  • 网站架构设计的意义企业所得税优惠政策最新2023年
  • 中联建设集团股份有限公司网站个人摄影作品网站
  • 建立企业门户网站wordpress开发网上商城
  • 建站一条龙的服务流程是怎么样的做网站毕业设计存在的问题
  • 怎么做网站策划wordpress 显示不正常
  • 顺德网站制作案例信息友情链接的作用大不大
  • 东营市两学一做考试网站python 创建wordpress
  • 微网站特效建网站多少钱合适
  • 网站如何做整合营销wordpress迅雷
  • 山东建设工程信息网站保定市建设施工许可证查询网站
  • 学校加强网站建设wordpress php 5.3.x
  • 旅游门户网站源码怎么做的wordpress插件是中文吗
  • 移动网站设计教程连云港网站建设方案
  • 成都网站设计说明书网站开发实验总结
  • 同ip网站是怎么做的品牌建设实施细则
  • 网站如何开通微信支付接口商业型网站
  • 网站欢迎框代码游戏源码买卖平台
  • 网站十大品牌wordpress开启redis缓存
  • 赣州网站建设较好的公司wordpress不同分类
  • 联享品牌网站建设公司做网站需要注意的地方
  • 怎么做网站文章邯郸网站建设公司
  • 福建设计网站网站会员等级审核功能怎么做