摘要:
retrieving information on system resources and process information was not possible wihtout api calls in vb6. calling api functions has its own difficulties. identifying correct datatypes, ide......
摘要:
注:本文中出现的代码均在.net framework rc3环境中运行通过
一.多线程的概念
windows是一个多任务的系统,如果你使用的是windows 2000及其以上版本,你可以通过任务管理器查看当前系统运行的程序和进程。什么是进程呢?当一个程序开始运行时,它就是一个进程,进程所指包括运行中的程序和程序所使用到的内存和系统资源。而一个进程又是由多个线程所组成......
使用VisualBasic.NET进行多线程编程(转自MSDN)续
同步线程
同步在多线程编程的非结构化性质与同步处理的结构化次序之间提供了一个折衷的办法.
使用同步技术,可以完成以下操作: 在必须以特定顺序执行任务时,显式控制代码运行的次序.
- 或者 - 当两个线程同时共享相同的资源时,避免可能出现的问题.
例如,可以使用同步使显示过程处于等待状态,直至在另一线程中运行的数据检索过程结束.
同步的方法有两种:轮询与使用同步对象.轮询反复从循环中检查异步调用的状态.使用轮询管理线程的效率最低,因为反复检查各种线程属性的状态会浪费大量资源.
例如,如果轮询要查看线程是否已结束,可以使用 isalive 属性.使用此属性时要很小心,因为活动的线程不一定正在运行.可以使用线程的 threadstate 属性来获得有关线程状态的详细信息.由于在任意给定时间,线程都可能处于多种状态,因此 threadstate 中存储的值可以是 system.threading.threadstate 枚举中的值的组合.因此,在轮询时应当仔细检查所有相关的线程状态.例如,如果线程的状态表明它没有运行,则该线程可能已经完成.另一方面,它也可能被挂起或处于休眠状态.
可以想象,轮询为控制运行线程的次序,牺牲了多线程的部分优点.为此,可以使用效率较高的 join 方法来控制线程....
下一页 摘要:
使用线程
greg ewing
clarity consulting inc.
2002 年 3 月
摘要:本文论述了各种模式的线程(单线程、单元线程和自由线程)以及每种模式的使用方法。同时,还提供了一个使用线程的 c# 语言代码示例,以帮助您编写使用线程的应用程序。本文还讨论了多线程代码中的一些重要问题。
下载(英文)示例文件。(请注意,在示例文件中,程序员的注释使用......