
C#
文章平均质量分 82
IT_MG207
这个作者很懒,什么都没留下…
展开
-
C#中using的三种用法
C#中using的三种用法<br /> <br /> <br />熟悉C++的人看到using就想到引用命名空间,当然在C#中也一样。<br />但同时C#中的using比C++中的多了两项功能,下面详细说明。<br />第一种用法:using + 命名空间<br />这种用法跟C++的一样,引用一个命名空间,这样在程序里就可以直接引用命名空间里的类型,而不用详细指定其完整路径。<br />例如:using System;<br />这样当调用System.Write()时就可以直接写Write()就可以了转载 2010-11-23 16:53:00 · 667 阅读 · 0 评论 -
C#多线程编程(1):线程的启动
在实例化Thread的实例,需要提供一个委托,在实例化这个委托时所用到的参数是线程将来启动时要运行的方法。在.net中提供了两种启动线程的方式,一种是不带参数的启动方式,另一种是带参数的启动的方式。 不带参数的启动方式 如果启动参数时无需其它额外的信息,可以使用ThreadStart来实例化Thread,如下面的代码: [c-sharp] view plainco转载 2012-04-16 13:54:05 · 298 阅读 · 0 评论 -
多线程编程(2):线程的同步
在《多线程编程》系列第一篇讲述了如何启动线程,这篇讲述线程之间存在竞争时如何确保同步并且不发生死锁。 线程不同步引出的问题 下面做一个假设,假设有100张票,由两个线程来实现一个售票程序,每次线程运行时首先检查是否还有票未售出,如果有就按照票号从小到大的顺序售出票号最小的票,程序的代码如下: [c-sharp] view plaincopy us转载 2012-04-16 13:56:24 · 309 阅读 · 0 评论 -
多线程编程(3):线程池ThreadPool
在面向对象编程中,经常会面对创建对象和销毁对象的情况,如果不正确处理的话,在短时间内创建大量对象然后执行简单处理之后又要销毁这些刚刚建立的对象,这是一个非常消耗性能的低效行为,所以很多面向对象语言中在内部使用对象池来处理这种情况,以提高性能,比如在ADO.NET内部就允许使用数据库连接池来提高性能,在JDBC中没有提供数据库连接池,一些开发人员为了提高效率就自己编写数据库连接池来提高性能,当然据我转载 2012-04-16 13:58:17 · 492 阅读 · 0 评论