星星之火

燎原之势不可挡
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
上一页 1 ··· 8 9 10 11 12 13 14 下一页

2012年10月8日

摘要: LINQ学习心得分享--------(一)LINQ简介和基础学习 这一节主要向大家讲三个问题,第一个问题什么是LINQ,第二个问题LINQ主要解决什么问题,第三个问题学习LINQ需要做哪些基本的准备。 首先第一个问题,什么是LINQ?LINQ中文翻译为语言集成查询(Language Integrated Query),更通俗的讲,它相当于一个通用的数据查询接口。LINQ最初由Anders hejlsberg构思,2007年11月19日,LINQ作为.NET FrameWork3.5的一部分正式发布,同时微软也将LINQ集成到了Visual Studio 2008中,这一巨大的创新,实现了面向. 阅读全文

posted @ 2012-10-08 11:35 星星之火116 阅读(2265) 评论(3) 推荐(7) 编辑

2012年10月6日

摘要: 在以前的章节中,我们不只一次的提到过,不能在非创建UI控件的线程中操作UI元素,否则会和UI控件创建线程(一般是主线程)产生冲突,造成不可预料的后果。该如何解决这个问题呢?除了上一节所讲的BackgroundWorker和Timer以外,微软将Control类实现了ISynchronizeInvoke接口,提供了Invoke和BeginInvoke方法来提供让其它线程更新GUI界面控件的机制。下边还是通过一个例子给大家讲解一下Control.Invoke()和Control.BeginInvoke();首先新建一个WinForm应用程序,在Form窗体上做如下布局:然后,新建一个委托publi 阅读全文

posted @ 2012-10-06 19:37 星星之火116 阅读(1427) 评论(4) 推荐(3) 编辑

摘要: 上一节讲到在实际的编程中某些任务执行完成时间可能较长,比如打开大文件、连接远程计算机或查询数据库,这个时候可能会导致UI界面发生长时间未响应,如果你需要在执行某些任务的同时,还要进行UI界面的响应,BackgroundWorker是您最好的选择,同时,从VS2005开始也BackgroundWorker组件,这使Backgroundworker使用起来更加的方便。下面我会通过一个更新UI界面进度条的例子来向大家逐步的讲解BackgroundWorker类首先新建一个Form应用程序,在UI也添加一个按钮和一个进度条processbar如图所示:然后进入.cs页先声明一个全局的Backgroun 阅读全文

posted @ 2012-10-06 10:13 星星之火116 阅读(2856) 评论(1) 推荐(0) 编辑

2012年10月5日

摘要: 在实际的编程中某些任务执行完成时间可能较长,比如打开大文件、连接远程计算机或查询数据库,这个时候如果采用异步操作可以极大提高程序的运行效率,提供良好用户体验。异步操作在主应用程序线程以外的线程中执行。应用程序调用方法异步执行某个操作时,应用程序仍然可以继续执行当前的程序。下面列举了.NETFramework中支持异步编程的部分,主要包括:文件(File)IO、流(Stream)IO、套接字(Socket)IO,网络,远程处理信道(HTTP、TCP)和代理,使用ASP.NET创建的XMLWebservices,ASP.NETWeb窗体,使用MessageQueue类的消息队列等。谈到异步操作,. 阅读全文

posted @ 2012-10-05 19:33 星星之火116 阅读(1454) 评论(4) 推荐(1) 编辑

摘要: 上一节主要讲了创建调用有参(多参)函数的线程和线程池的一些内容,这一节主要讲线程的同步。多线程的出现解决了吞吐量和响应速度的问题,但同时也带来了资源共享问题,如死锁和资源争用。在为单个资源分配多个线程可能会导致同步问题。何为线程同步呢?所谓同步,是指多个线程之间存在先后执行顺序的关联关系。如果一个线程必须在另一个线程完成某个工作后才能继续执行,则必须考虑如何让其他保持同步,以确保在系统上同时运行多个线程而不会出现死锁或逻辑错误。下面先看一个例子:classProgram{staticvoidMain(string[]args){Threadthread=newThread(newThreadS 阅读全文

posted @ 2012-10-05 14:59 星星之火116 阅读(512) 评论(0) 推荐(0) 编辑

摘要: 上一节主要是对线程有一个具体的介绍,同时也介绍了线程调用无参函数的方法,这一节主要介绍线程调用有参甚至是多参函数,同时也会进一步的介绍线程池。先介绍线程调用有参函数一、调用有一个参数的函数staticvoidMain(string[]args){//标记显示主线程IDConsole.WriteLine("主线程的ID:"+Thread.CurrentThread.ManagedThreadId);//如果线程要调用有参函数,这时线程的构造函数的参数应为一个ParameterizedThreadStart的实例对象,函数参数必须为Object类型Threadthread=ne 阅读全文

posted @ 2012-10-05 09:36 星星之火116 阅读(1399) 评论(0) 推荐(1) 编辑

2012年10月4日

摘要: 线程解析和认识--------(一)线程初识在开始讲线程之前,先应该讲一下进程。什么进程?简单点说一个应用程序就是一个进程(当然还有有些程序不止一个进程),Windows操作系统下,为了将应用程序之间隔离,以防止各个应用程序之间的互操作产生各种意外的情况,故引入的进程机制。进程是操作系统中获取CPU分配资源的最小单位,仅仅占有资源。在.NET平台下的应用程序,又在进程中引入了应用程序域,应用程序在运行的时候并不是直接加载运行的,而是先将程序集、.exe程序加载到应用程序域中,然后在启动运行,应用程序域相当于一个轻量级的进程,主要是将各个程序集隔离开来单独运行,这样即使其中一个程序集运行异常也不 阅读全文

posted @ 2012-10-04 21:28 星星之火116 阅读(1663) 评论(3) 推荐(1) 编辑

2012年10月1日

摘要: 只要是搞编程的算法、数据结构、操作系统、计算机组成原理这些东西都会有用到,就像医生给人治病一样,只有了解了人的内部机理、运作机制,才能很好的做到对症下药,药到病除。而上面所说的那些计算机理论课就好像人的内部机理一样,我们往往都把这些东西给忽略了,而把更多的精力放在具体的编程语言实现上,当然我也是这样,上学的时候这些计算机理论课都没怎么好好学,觉得这些东西很枯燥无味,最重要的是在我那时期的那个层次跟本看不到这些东西有什么用,学了很长时间的编程语言然后再回来看,发现只有对这些基础理论性的东西有更深刻的体会,才能做出更高效、更优秀的项目。数据结构和算法一直都学得不好,总是当时看了理解的挺好,时间一长 阅读全文

posted @ 2012-10-01 13:08 星星之火116 阅读(1107) 评论(3) 推荐(0) 编辑

2012年9月29日

摘要: 在开始写这篇文章之前,我的心里还是纠结的。我在问自己要不要写这篇东西,关于相似的内容网上多如牛毛,而且还不乏珍品,况且,就算我写了也不一定能写的好。但是现在你既然看到了,那说明我还是写了出来。就算是对自己学习的一个总结吧!同时也把常见的常用的正则表达式给收集整理出来,以便用到的时候不用满世界的找。关于正则表达式一直都是个让很多程序员都觉得很郁闷的一个东西,我觉得创造正则表达式的那个家伙简直就是个奇葩,要不就是火星人。就那么一个字符规则校验就足以使那么多程序员为之抓狂,你可以想象这个东西该有多变态。这篇文章,我写了四个小时,就在快要写完的时候,因为要参考其他的文献资料,不小心按到了回退键,可怕的 阅读全文

posted @ 2012-09-29 18:47 星星之火116 阅读(522) 评论(1) 推荐(1) 编辑

2012年9月28日

摘要: 1 Serialization即序列化,序列化是可被定义为将对象的状态存储到存储媒介中的过程。在此过程中,对象的公共字段和私有字段以及类的名称(包括包含该类的程序集)都被转换为字节流,然后写入数据流。在以后反序列化该对象时,创建原始对象的精确复本。 2 3 Remoting和Web Service就是序列化的典型的应用,通过序列化将一个对象从一个应用程序域,发送到另一个应用程序域。 4 5 序列化类默认的情况下是要求他的所有的成员都是要可序列化的(除事件、委托、显式定义不可序列化),对于不想被序列化的成员要声明不可序列化把它加上 [NonSerialized]属性告诉.NET这... 阅读全文

posted @ 2012-09-28 15:57 星星之火116 阅读(1159) 评论(0) 推荐(0) 编辑

上一页 1 ··· 8 9 10 11 12 13 14 下一页