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

美食网站开发详细设计网页模板源码

美食网站开发详细设计,网页模板源码,郑州安卓app开发,旅游网站的后台管理系统怎么做一、为什么要进行线程交互 在C#中#xff0c;线程交互通常涉及到多个线程之间的数据共享和同步。‌. 一、全局变量 在C#中#xff0c;全局变量是指在程序的任何地方都可以访问的变量。通常#xff0c;全局变量是在类的外部定义的#xff0c;或者在所有方法之外定义的。全…一、为什么要进行线程交互 在C#中线程交互通常涉及到多个线程之间的数据共享和同步。‌. 一、全局变量 在C#中全局变量是指在程序的任何地方都可以访问的变量。通常全局变量是在类的外部定义的或者在所有方法之外定义的。全局变量通常用于存储需要在多个方法或类之间共享的数据。 1. 在类外部定义 你可以在类定义之外定义全局变量但这通常不推荐因为这违背了面向对象编程的原则即封装性。更好的做法是使用静态成员静态变量或单例模式来共享数据。 静态变量 静态变量属于类而不是类的实例。这意味着你可以通过类名直接访问它而不需要创建类的实例。 2. 使用单例模式 单例模式确保一个类只有一个实例并提供一个全局访问点。 3. 在类内部作为字段使用非静态 如果你想在多个方法之间共享数据但又不想让这个数据成为公共的即不想让其他类直接访问可以将它定义为类的字段并通过实例方法访问。虽然这不是真正的“全局”访问因为它需要通过类的实例访问但它仍然可以在多个方法间共享数据。 最佳实践和建议 封装性尽量使用封装性原则通过属性、方法或单例模式来控制数据的访问。 可维护性过度使用全局变量会使代码难以维护和理解。尽量减少全局变量的使用特别是在大型项目中。考虑使用依赖注入等设计模式来管理依赖和共享数据。 线程安全当涉及到多线程时确保全局变量的访问是线程安全的。可以通过lock语句或者使用Concurrent集合来处理。 二、AutoResetEvent类 AutoResetEvent 是一种同步原语它允许一个线程等待另一个线程发出信号。当一个线程调用 WaitOne() 方法时它会被阻塞直到另一个线程调用 Set() 方法为止。每次 Set() 被调用后AutoResetEvent 将自动重置为非信号状态这意味着只能唤醒一个等待的线程。 三、 ManualResetEvent类 与 AutoResetEvent 类似ManualResetEvent 允许一个或多个线程等待某个事件的发生。不同的是ManualResetEvent 在 Set() 被调用之后不会自动重置除非显式地调用了 Reset() 方法。 四、事件Event机制 通过事件和委托机制可以在对象之间发送消息并通知订阅者。这种模式非常适合需要跨多个线程进行通信的情况尤其是在图形用户界面GUI应用中主线程通常用于UI更新而子线程则处理后台任务。 五、Monitor 一、Monitor 类概述 Monitor 类位于 System.Threading 命名空间中它允许你对对象进行锁定即获取互斥锁从而确保在同一时刻只有一个线程可以执行被锁定保护的代码块。 1. 基本锁机制 Monitor.Enter 和 Monitor.Exit 用于保护临界区确保线程互斥访问共享资源。 与 lock 的关系lock 关键字是 Monitor 的语法糖编译后等价于 try-finally 块包裹的 Enter 和 Exit。 何时用 Monitor需要超时控制或非阻塞尝试获取锁时通过 TryEnter。 2. 常用方法 Enter尝试进入临界区并获取锁。 Exit释放锁并退出临界区。 TryEnter尝试进入临界区并在指定时间内等待锁。 Wait释放当前线程持有的锁并将该线程放入等待队列。 Pulse/PulseAll通知等待队列中的一个或所有线程锁已释放它们可以重新竞争锁。 3. 使用场景 保护共享资源确保多个线程不会同时修改同一数据结构。 生产者-消费者模式协调生产者和消费者之间的操作。 条件变量实现基于条件的同步。 六、 Invoke和BeginInvoke Invoke 和 BeginInvoke 在C#中主要用于跨线程操作UI控件确保线程安全。‌ Invoke和BeginInvoke的作用 ‌1、线程安全问题‌在Windows GUI编程中UI元素只能在创建它们的线程上访问。如果在一个非UI线程中直接操作UI控件可能会导致   异常。Invoke和BeginInvoke方法用于在正确的线程上执行代码避免这种问题。 ‌2、同步与异步‌ ‌Invoke‌同步调用当前线程会阻塞直到委托在目标线程通常是UI线程上执行完毕。适用于需要确保被调用的代码执行完成后再继续执行后续逻辑的场景。 ‌BeginInvoke‌异步调用当前线程不会阻塞委托会立即被加入目标线程的消息队列由目标线程异步执行。适用于不关心被调用代码的执行结果或希望避免阻塞当前线程的场景。 B站  道传科技上位机   观看教程视频
http://www.zqtcl.cn/news/171010/

相关文章:

  • 县城做信息网站qq是哪个公司
  • 设计师作品展示网站做图软件官方网站
  • 企业网站网站建设价格seo短视频网页入口引流
  • 旅游电商网站建设方案模板济南搜点网络科技有限公司
  • 网站模板 带手机端头条推广平台有哪些
  • 有没有专门做衣服的网站小程序加盟代理前景
  • app网站开发报价wordpress怎么加快网站打开速度
  • 路南网站建设可用的ftp网站
  • 台州市建站公司网站免费建设推荐
  • 网站世界排名怎么做柘城县网站建设
  • 网站设计与制作培训班户外运动网站建设策划
  • 保险公司网站网站域名注册哪个好
  • 平台网站建设可行报告工作室注册条件
  • 罗湖附近公司做网站建设哪家便宜做cpa必须要有网站吗
  • 深圳网站开发教程wordpress密码登录插件
  • 农机网站建设目标上海网站建设工资多少
  • 手机做网站过程网站名字做版权需要源代码吗
  • 公司微信网站建设方案现在做外贸前景如何
  • 如何使用微信公众号做网站河南省专业做网站公司
  • 清远市清城区网站建设公司广州黄浦区建设局网站
  • 站长做2个网站网站程序指的是什么
  • 网站建设jw100请拿笔记记下新域名
  • 兰州市住房保障和城乡建设局网站如何有效的推广网站
  • 网站推广做百度还是360北京企业网站建设费用
  • 推荐一个简单的网站制作策划方案免费网站
  • 用vs2012做网站案例企业现在有必要做网站吗
  • 网站建设少用控件wordpress默认分类
  • php网站是什么数据库文件网站开发收
  • 新网网站空间做网站和app哪类商标
  • drupal网站建设数据库厦门市网站建设