01 2010 档案

摘要:上次我们说了,要进行多线程编程,我们可以使用最原始的方式也是最灵活的方式进行,那就是Thread(ThreadPool)+信号量+锁+Control.Invoke。.NET的异步编程模型给我们提供了一... 阅读全文
posted @ 2010-01-09 14:18 lovecindywang 阅读(3601) 评论(5) 推荐(4) 编辑
摘要:谈多线程谈到现在,我们要明确多线程的一个好处是可以进行并行的运算(充分利用多核处理器,对于桌面应用程序来说就更重要一点了,没有WEB服务器,利用多核只能靠自己),还有一个好处就是异步操作,就是我们可以... 阅读全文
posted @ 2010-01-08 22:04 lovecindywang 阅读(4174) 评论(4) 推荐(4) 编辑
摘要:在之前的文章中我们介绍过两种Timer和BackgroundWorker组件,在上文中我们提到过,强烈建议在UI线程上操作控件,否则很容易产生人品问题。可以想到,上次介绍的两个Timer基于Threa... 阅读全文
posted @ 2010-01-07 14:58 lovecindywang 阅读(3872) 评论(2) 推荐(2) 编辑
摘要:首先我们创建一个Winform的应用程序,在上面添加一个多行文本框和一个按钮控件,按钮的事件如下: Thread.Sleep(1000);StringBuilder sb = new StringB... 阅读全文
posted @ 2010-01-06 12:04 lovecindywang 阅读(7268) 评论(9) 推荐(6) 编辑
摘要:浅谈.NET下的多线程和并行计算(一)前言浅谈.NET下的多线程和并行计算(二)线程基本知识浅谈.NET下的多线程和并行计算(三)线程同步基础上浅谈.NET下的多线程和并行计算(四)线程同步基础下浅谈.NET下的多线程和并行计算(五)线程池基础上浅谈.NET下的多线程和并行计算(六)线程池基础下浅谈.NET下的多线程和并行计算(七)基于多线程的基本组件浅谈.NET下的多线程和并行计算(八)Winform中多线程编程基础上浅谈.NET下的多线程和并行计算(九)Winform中多线程编程基础下浅谈.NET下的多线程和并行计算(十).NET异步编程模型基础上浅谈.NET下的多线程和并行计算(十一). 阅读全文
posted @ 2010-01-05 19:29 lovecindywang 阅读(3983) 评论(8) 推荐(6) 编辑
摘要:在多线程应用中我们有一些很常见的需求,比如定时去做计划任务,或者是在执行一个长时间的任务,在执行这个任务的过程中能有进度显示(能想到要实现这个需求需要新开一个线程,避免阻塞UI的更新)。对于这些应用.NET提供了现成的组件。 首先来看一下System.Threading的Timer组件,它提供了定时执行某个任务的方法: ThreadPool.SetMinThreads(2, 2);Thread... 阅读全文
posted @ 2010-01-05 11:03 lovecindywang 阅读(4126) 评论(3) 推荐(5) 编辑
摘要:这节我们按照线程池的核心思想来自定义一个简单的线程池: 1) 池中使用的线程不少于一定数量,不多于一定数量 2) 池中线程不够的时候创建,富裕的时候收回 3) 任务排队,没有可用线程时,任务等待... 阅读全文
posted @ 2010-01-04 14:44 lovecindywang 阅读(3663) 评论(1) 推荐(2) 编辑