横槊临江

New give up !

导航

2013年7月12日 #

delegate 中的BeginInvoke和EndInvoke方法

摘要: 开发语言:C#3.0IDE:Visual Studio 2008一、C#线程概述在操作系统中一个进程至少要包含一个线程,然后,在某些时候需要在同一个进程中同时执行多项任务,或是为了提供程序的性能,将要执行的任务分解成多个子任务执行。这就需要在同一个进程中开启多个线程。我们使用C#编写一个应用程序(控制台或桌面程序都可以),然后运行这个程序,并打开windows任务管理器,这时我们就会看到这个应用程序中所含有的线程数,如下图所示。如果任务管理器没有“线程数”列,可以【查看】>【选择列】来显示“线程计数”列。从上图可以看出,几乎所有的进程都拥有两个以上的线程。从而可以看出,线程是提供应用程序 阅读全文

posted @ 2013-07-12 16:09 jian60521 阅读(277) 评论(0) 推荐(0) 编辑

Invoke()/BeginInvoke()区别

摘要: 查看MSDN如下:Control..::.Invoke ---> 在拥有此控件的基础窗口句柄的线程上执行委托。Control..::.BeginInvoke ---> 在创建控件的基础句柄所在线程上异步执行委托。 显然,Invoke() 与 BeginInvoke() 方法间的主要区别在于“异步”关键字眼。 也就是说,Invoke() 调用时,会阻塞当前线程,等到 Invoke() 方法返回才继续执行后面的代码,表现出“同步”的概念。 BeginInvoke() 调用时,当前线程会启用线程池中的某个线程来执行此方法,当前线程不被阻塞,继续运行后面的代码,表现出“异步”的概念。 En 阅读全文

posted @ 2013-07-12 15:10 jian60521 阅读(178) 评论(0) 推荐(0) 编辑

.ctor,.cctor 以及 对象的构造过程

摘要: 摘要: .ctor,.cctor 以及 对象的构造过程.ctor:简述:构造函数,在类被实例化时,它会被自动调用。当C#的类被编译后,在IL代码中会出现一个名为.ctor的方法,它就是我们的构造函数,对应C#中的构造函数。且看下面的代码 ....ctor,.cctor 以及 对象的构造过程.ctor:简述:构造函数,在类被实例化时,它会被自动调用。当C#的类被编译后,在IL代码中会出现一个名为.ctor的方法,它就是我们的构造函数,对应C#中的构造函数。且看下面的代码:publicclassClass1{privatestringname;privateintage;}类Class1中没有显示 阅读全文

posted @ 2013-07-12 14:19 jian60521 阅读(8034) 评论(0) 推荐(0) 编辑

文件打强名

摘要: VS command line:sn(,) -Ra(,) dll file path(,) UnifiedSuite.pair.snk file pathsn -Ra C:\Users\Administrator\Desktop\PSWGS.Cad.Server.Reporting.I18NExtension.dll C:\Allen\P1- Main\Product\Common\Software\Build\UnifiedSuite.pair.snk查看一个文件是否打过强名:sn -v PSWGS.Common.dll .dll does not represent a strongly 阅读全文

posted @ 2013-07-12 09:19 jian60521 阅读(177) 评论(0) 推荐(0) 编辑