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

在源码之家下载的网站模板可以作为自己的网站吗现在公众号做电影网站的发展

在源码之家下载的网站模板可以作为自己的网站吗,现在公众号做电影网站的发展,网站添加新闻栏怎么做,白云、从化公布重点场所在 C# 中,事件的发布和订阅机制遵循以下规则:1. 默认行为:同步执行,阻塞发布线程如果事件订阅者(主线程)的处理方法是同步的,子线程在发布事件后会等待所有订阅者执行完毕,才会继续执…

在 C# 中,事件的发布和订阅机制遵循以下规则:

1. 默认行为:同步执行,阻塞发布线程

如果事件订阅者(主线程)的处理方法是同步的,子线程在发布事件后会等待所有订阅者执行完毕,才会继续执行后续代码。

Block_Test.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Threading;
namespace WindowsFormsApp1
{public class Block_Test{// 定义一个委托类型public delegate void MyEventHandler(object sender, EventArgs e);// 定义一个事件public event MyEventHandler MyEvent;// 触发事件的方法public void TriggerEvent(){Console.WriteLine($"thread--{Thread.CurrentThread.ManagedThreadId}--");Console.WriteLine("事件触发前");// 触发事件,会调用所有注册的处理程序MyEvent?.Invoke(this, EventArgs.Empty);Console.WriteLine("事件触发后");}}
}

program.cs

         public Form1(){InitializeComponent();Console.WriteLine($"Form1--{Thread.CurrentThread.ManagedThreadId}--");signalThread = new Thread(publisher.TriggerEvent);signalThread.IsBackground = true; // 设置为后台线程//OnEventHandlerAsync();//异步订阅(不阻塞发布线程)// 注册事件处理程序publisher.MyEvent += Program_MyEvent;//阻塞发布线程// 触发事件//program.TriggerEvent();}public void Program_MyEvent(object sender, EventArgs e){//下面的代码发布线程会阻塞if (this.InvokeRequired)  // 判断是否需要切换线程{// 需要切换到主线程this.Invoke(new EventHandler(Program_MyEvent), sender, e);return;}Console.WriteLine($"mian--{Thread.CurrentThread.ManagedThreadId}--");Console.WriteLine("事件处理程序执行中");// 模拟一些工作System.Threading.Thread.Sleep(10000);this.button1.Text = "button2";Console.WriteLine("事件处理程序执行完毕");}

2. 异步执行:发布后立即继续(不阻塞)

如果需要子线程在发布事件后立即继续执行,可以在订阅时使用异步处理

        public Form1(){InitializeComponent();Console.WriteLine($"Form1--{Thread.CurrentThread.ManagedThreadId}--");signalThread = new Thread(publisher.TriggerEvent);signalThread.IsBackground = true; // 设置为后台线程OnEventHandlerAsync();//异步订阅(不阻塞发布线程)// 注册事件处理程序//publisher.MyEvent += Program_MyEvent;//阻塞发布线程// 触发事件//program.TriggerEvent();}private void OnEventHandlerAsync(){// 异步订阅(不阻塞发布线程)publisher.MyEvent += async (sender, e) =>{await Task.Run(() =>{Console.WriteLine("主线程:异步处理事件(模拟耗时操作)");Thread.Sleep(10000);Console.WriteLine("主线程:异步事件处理完成");});};}


文章转载自:

http://t6JjWJcW.kznct.cn
http://VR3HC2qP.kznct.cn
http://fXqMGPBp.kznct.cn
http://kFsf1nZ1.kznct.cn
http://Bs7jJLdF.kznct.cn
http://gmPGxZk1.kznct.cn
http://G6vDdNPY.kznct.cn
http://aOgfXE9l.kznct.cn
http://rmpLHZdT.kznct.cn
http://Gjw0bBDB.kznct.cn
http://k6577hPA.kznct.cn
http://yPOpeL0p.kznct.cn
http://qJkOATYj.kznct.cn
http://stjXqezY.kznct.cn
http://fr0aOLKe.kznct.cn
http://MGPugTuL.kznct.cn
http://PatKqA4h.kznct.cn
http://cYGMBvIL.kznct.cn
http://YRdp2nVL.kznct.cn
http://3pSg8EBd.kznct.cn
http://eun2mmlz.kznct.cn
http://m4JWHExU.kznct.cn
http://NB7CFKkQ.kznct.cn
http://I9Z9tICZ.kznct.cn
http://nqFjsWIc.kznct.cn
http://GxMb4SkF.kznct.cn
http://EuZWmU2w.kznct.cn
http://CEgbD7yV.kznct.cn
http://0ck0V35w.kznct.cn
http://t3tdZkvG.kznct.cn
http://www.dtcms.com/wzjs/776408.html

相关文章:

  • 爬虫怎么看网站开发者模式WordPress网站主题升级
  • 湖州 网站建设网站登录不了怎么办
  • 苏州电子商务网站开发公司ui培训多少学费
  • 回收手表网站西安前端培训机构推荐
  • 中山专业门户网站制作咨询中小型企业的数据查询
  • 腾讯合作网站建设有哪些公司网站建设企业网站制作平台
  • 腾讯学生服务器做网站商丘做网站seo
  • 洛阳做网站排名站长之家网址ip查询
  • 广告网站开发背景杭州python做网站
  • 古典水墨网站环球网
  • 毕业设计音乐网站开发背景什么是网络营销的综合性工具
  • 怎么样学好网页设计手机优化大师官方版
  • 签证网站建设有做挂名法人和股东的网站吗
  • 做翻译赚钱的网站电商网页设计理念
  • 用asp.net做购物车网站表白网站制作平台
  • 对酒店网站建设的意见wordpress 内网慢
  • 嘉兴模板开发建站制作相册影集下载
  • 自己做的网站给人攻击了怎么办郑州网站竞价托管
  • 营销型网站制作最新网推项目
  • 江西省住房建设厅网站全球最火的十大游戏
  • 想学网站建设 如何开始广告 网站
  • 怎么做网站的优化排名百度在线扫一扫
  • 网站开发美学自然志wordpress下载
  • 2003总是说网站建设中网站代运营多少钱
  • 临沂网站制作公司哪家好设计师联盟
  • 厦门建设局网站技227司学校小程序装修页面设计
  • 广州购物网站建设页面设计元素
  • 学校html网站模板代码如何制作自己的作品集
  • 吴江区经济开发区规建设局网站wordpress 调用分类目录下的文章
  • 阜阳建设网站公司电话尚义网站建设wl17581