摘要: 摘自:http://www.cnblogs.com/smartsoft2005/archive/2005/09/13/234687.html前言 在我们应用程序开发过程中,经常会遇到一些问题,需要使用多线程技术来加以解决。本文就是通过几个示例程序给大家讲解一下多线程相关的一些主要问题。 执行长任务操作 许多种类的应用程序都需要长时间操作,比如:执行一个打印任务,请求一个 Web Service... 阅读全文
posted @ 2007-03-25 17:52 叶晓丰 阅读(517) 评论(0) 推荐(0) 编辑
摘要: 与所有的UI开发平台一样,.NET下线程开发图形界面同样要遵循一个基本原则:就是对UI对象的操作一定要在产生该UI对象的线程里进行(该线程称作UI线程),因为大部分UI对象都不是线程安全的。 在.NET中,把调用调用放在UI线程里执行是通过Form类及其子类的Invoke()方法实现的(具体的过程请参考其他资料),可以这样做是因为Form对象保存了创建它的线程的信息,而且Form类有一个boo... 阅读全文
posted @ 2007-03-25 16:50 叶晓丰 阅读(414) 评论(0) 推荐(0) 编辑
摘要: delegate 与 多线程 http://www.putfly.com/show.aspx?id=252&cid=11 很多时候写windows程序都需要结合多线程,在.net中用如下得代码来创建并启动一个新的线程。 public void ThreadProc();Thread thread = new ... 阅读全文
posted @ 2007-03-25 16:45 叶晓丰 阅读(466) 评论(0) 推荐(0) 编辑
摘要: 读者一定注意到了Thread.ThreadState这个属性,这个属性代表了线程运行时状态,在不同的情况下有不同的值,于是我们有时候可以通过对该值的判断来设计程序流程。ThreadState在各种情况下的可能取值如下: Aborted:线程已停止 AbortRequested:线程的Thread.Abort()方法已被调用,但是线程还未停止 Background:线程在后台执行,与属性Threa... 阅读全文
posted @ 2007-03-25 16:28 叶晓丰 阅读(454) 评论(0) 推荐(0) 编辑
摘要: 一.多线程的概念 Windows是一个多任务的系统,如果你使用的是windows 2000及其以上版本,你可以通过任务管理器查看当前系统运行的程序和进程。什么是进程呢?当一个程序开始运行时,它就是一个进程,进程所指包括运行中的程序和程序所使用到的内存和系统资源。而一个进程又是由多个线程所组成的,线程是程序中的一个执行流,每个线程都有自己的专有寄存器(栈指针、程序计数器等),但代码区是共享的,... 阅读全文
posted @ 2007-03-25 16:14 叶晓丰 阅读(455) 评论(0) 推荐(0) 编辑