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

做甜品网站的需求分析学做网站论坛教学视频下载

做甜品网站的需求分析,学做网站论坛教学视频下载,商丘三合一网站建设,微信管理系统登录入口[简介] 常用网名: 猪头三 出生日期: 1981.XX.XX QQ: 643439947 个人网站: 80x86汇编小站 https://www.x86asm.org 编程生涯: 2001年~至今[共22年] 职业生涯: 20年 开发语言: C/C、80x86ASM、PHP、Perl、Objective-C、Object Pascal、C#、Python 开发工具: Visual Studio、Delph…[简介] 常用网名: 猪头三 出生日期: 1981.XX.XX QQ: 643439947 个人网站: 80x86汇编小站 https://www.x86asm.org 编程生涯: 2001年~至今[共22年] 职业生涯: 20年 开发语言: C/C、80x86ASM、PHP、Perl、Objective-C、Object Pascal、C#、Python 开发工具: Visual Studio、Delphi、XCode、Eclipse、C Builder 技能种类: 逆向 驱动 磁盘 文件 研发领域: Windows应用软件安全/Windows系统内核安全/Windows系统磁盘数据安全/macOS应用软件安全 项目经历: 磁盘性能优化/文件系统数据恢复/文件信息采集/敏感文件监测跟踪/网络安全检测 [序言] 本次内容主要是学习TMonitor的同步机制, TMonitor是非常强大的, 因为它内置了同步等待(Wait)和唤醒(Pulse)的机制, 使用起来真的是非常灵活. [下面是经典代码]主要功能: 利用TMonitor, TQueue相互配合实现了TThreadedQueue的经典案例. unit Unit1;interfaceusesWinapi.Windows, Winapi.Messages,System.SysUtils, System.Variants, System.Classes, System.Threading, System.SyncObjs,System.Generics.Collections,Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls;typeTForm1 class(TForm)Bn_ReadThread: TButton;Bn_WriteThread: TButton;Memo_Result: TMemo;procedure FormCreate(Sender: TObject);procedure FormShow(Sender: TObject);procedure Bn_ReadThreadClick(Sender: TObject);procedure Bn_WriteThreadClick(Sender: TObject);private{ Private declarations }mpr_ShareQueue : TQueuestring ; // 共享数据队列mpr_Thread_Lock : TObject ; // 同步锁mpr_Threads_Count: Integer ; // 写者线程的数量public{ Public declarations }procedure mpu_pro_Thread_Write(const cstr_param_Data : string) ;end;varForm1: TForm1;implementation{$R *.dfm}procedure TForm1.FormCreate(Sender: TObject); beginmpr_ShareQueue : TQueuestring.Create() ;mpr_Thread_Lock : TObject.Create();mpr_Threads_Count: 0;end;// End FormCreate()procedure TForm1.FormShow(Sender: TObject); begin // end;// End FormShow()// 单个读者线程 procedure TForm1.Bn_ReadThreadClick(Sender: TObject); beginTTask.Run(procedurevarstr_Data : string ;begin// 循环读取while True dobegin// 启动同步锁System.TMonitor.Enter(mpr_Thread_Lock) ;try// 如果共享数据队列没有数据, 那么则通知读者线程进入等待状态if mpr_ShareQueue.Count 0 thenbeginSystem.TMonitor.Wait(mpr_Thread_Lock, INFINITE) ;end;// 获取数据之后, 同步在界面上显式str_Data : mpr_ShareQueue.Dequeue ;// 界面显式数据TThread.Synchronize(TThread.Current, procedurebeginMemo_Result.Lines.Add(str_Data) ;end);finallySystem.TMonitor.Exit(mpr_Thread_Lock) ;end;end;end);end;// End Bn_ReadThreadClick()procedure TForm1.mpu_pro_Thread_Write(const cstr_param_Data : string) ; beginTTask.Run(procedurebegin// 随机休眠时间TThread.Sleep((Random(5)1)*1000) ;// 向共享数据队列添加数据// 启动同步锁System.TMonitor.Enter(mpr_Thread_Lock) ;trympr_ShareQueue.Enqueue(cstr_param_Data) ;// 向读者线程发出信号, 共享数据队列有新数据进入System.TMonitor.Pulse(mpr_Thread_Lock) ;finallySystem.TMonitor.Exit(mpr_Thread_Lock) ;end;end);end;// End mpu_pro_Thread_Write() procedure TForm1.Bn_WriteThreadClick(Sender: TObject); varstr_Data : string ; beginInc(mpr_Threads_Count) ;str_Data : Format(%d 号线程的数据., [mpr_Threads_Count]) ;Bn_WriteThread.Caption : Format(2: 创建写入线程(%d), [mpr_Threads_Count]) ;mpu_pro_Thread_Write(str_Data) ;end;// End Bn_WriteThreadClick() [结尾] 上面的代码, 需要注意的细节是: TMonitor.Wait()和TMonitor.Pulse()的等待与唤醒同步操作.
http://www.hkea.cn/news/14521719/

相关文章:

  • 北京网站公司制作有网络网站打不开怎么回事
  • 网站效果代码餐饮公司网站模板
  • dw制作一个环保网站模板下载东莞住建局官网
  • 郓城网站建设费用抚州建设工程造价管理站网站
  • 建设银行人力资源系统网站电子商务门户网站的研究与实现
  • 好的设计logo网站论坛详情页模板下载
  • 小说网站怎么做流量吗中国沈阳网站在哪里下载
  • 上海 网站建设商城购物网站建设
  • 做网站用php还是node在线观看免费网站网址
  • 自己的网站怎么做ui设计要会什么
  • 做网站的像素包装设计收费明细
  • 泰国购物网站大全单网站建设
  • 做爰片免费网站视频手机精品网站建设
  • 昆山做网站的公司深圳网站小程序设计开发
  • 怎样做自己网站后台不被攻击自己做网站能赚钱吗
  • 快速建设网站视频教程工业设计属于什么专业类别
  • 浙江建设信息港成绩查询栏百度首页排名优化哪家专业
  • 网站建设实训心得php如何制作个人网页主题是周末愉快
  • 正规代做毕业设计的网站邯郸网页
  • 单仁资讯做网站怎样北京网页设计如何创意
  • 网站建设竞标建一个购物网站需要什么条件
  • 网站打开太慢什么原因比较好的网站开发公司
  • 培训课程网站建设免费的小程序商城
  • 农林网站建设江西机场建设集团网站
  • 电商网站开发分析网站建设工作分解结构词典
  • 网站建设与优化推广的话术乐清联科网站建设
  • 做仿站如何修改网站管理权限wordpress token插件
  • 打鱼网站开发国外短网址生成
  • 图片加文字在线制作网站栏目页 优化
  • 商务平台网站建设合同招商网站建设解决方案