10 2013 档案
摘要:C#中的事件,即event,其采用的是事件驱动方式来使用,以前处理事件类似的事情往往采用等待机制,为了等待某事件的发生,需要不断地检测某些变量,而事件驱动程序等待事件时,不占用资源。事件从一方面来讲就是改变,就如button按钮一样,点击产生click事件,其click事件发生改变,就会通过委托调用相应的处理方法。 委托,从某种程度上来说,委托好比一个通道,一个事件的发生,可以通过委托传递给不同的接受者,只要接受者订阅了此事件,就用权利在事件被触发时产生不同的处理方式。委托好比第三方,是独立于对象之外的东西。例:两个窗体实现文本框的互相传值:Form1:namespace WindowsFo.
阅读全文
摘要:volatile是C#中最简单的一种同步关键字,其意义是针对程序中一些敏感数据,不允许多线程同时访问,保证数据在任何访问时刻,最多有一个线程访问,以保证数据的完整性,虽与java中的synchronized关键字有些类似相似,但是二者存在着很大的不同,最明显的地方就是volatile是修饰变量的修饰符,而synchronized是修饰一段代码或方法。volatile使变量保证了在内存中的共享,也就是其修饰的字段没有放在工作内存(寄存器),而是被直接放在主存操作,当一个线程修改了其修饰的变量,另一个线程可以直接读到修改后的值。lock确保当一个线程位于代码的临界区时,另一个线程不进入临界区。如.
阅读全文
摘要:1.struct是值类型,class是对象类型2.struct不能被继承,class可以被继承3.struct默认的访问权限是public,而class默认的访问权限是private.4..struct的new和class的new是不同的。struct的new就是执行一下构造函数创建一个新实例再对所有的字段进行Copy。而class则是在堆上分配一块内存然后再执行构造函数,struct的内存并不是在new的时候分配的,而是在定义的时候分配,换句话话说struct是在线程栈中创建,其定义时就已经被初始化,而class必须用new在托管堆中开辟空间。因此struct与class在作为参数传值过程中
阅读全文