摘要:
需要使用的方法,委托: 一、正常调用Sum方法,比较耗时 二、基本使用异步委托 三、异步委托的其他信息,引用上面开始调用委托的返回值asyncResult 四、异步委托带回调函数 阅读全文
摘要:
一、线程同步,先来看一下一段代码: 结果是: 这个结果是不是很惊讶?因为_count++或者_count--分为上述三个步骤! 线程什么时候执行或者暂停是由cpu决定的,我们可能在准备++的时候拿到的_count的值是1000, 但是线程暂停了,去执行_count--,它那边拿到的值也是1000,线 阅读全文
摘要:
BackgroundWorker:线程执行完毕之后我们可以继续一些操作 示例: 阅读全文
摘要:
一、启动线程调用无参数无返回值方法 二、启动一个线程执行带参数的方法 三、通过另一种方式启动一个线程执行带参数的方法(把方法封装一下) 四、线程的其他常用成员 五、winform跨线程访问的问题 阅读全文
摘要:
新建一个WindowsService之后,打开是这样的类; 不想啰嗦,直接上代码,面向对象编程: 添加抽象父类: 添加两个个子类示例: 数据转发: MainServices: 启动各个子服务 修改一下windowsSerivices类: 调试: 安装,关闭,删除:(记得添加安装程序) 新建一个txt 阅读全文
该文被密码保护。 阅读全文
摘要:
事件为什么不能再外面赋值?本质上把事件编译成一个私有的委托变量。 里面有 add_委托名[事件名] 和remove_委托名[事件名]方法。这两个属性就是利用多播委托的原理。+=: Delegate.Combine ,-=Delegate.Remove 示例类: 反编译,看下事件的代码: 1、可以看到 阅读全文
摘要:
事件的好处,除了只能+=和-=赋值,不会出现像委托那样可以用=直接赋值,可以将以前“注册”的方法都覆盖掉。并且只能在本类内部触发,不能像委托那样在外部触发,这就非常有用了,我们定义的事件可以在类外部注册,但是控制在本类在达到指定条件下才能触发。 event?invoke().... 阅读全文