自由线程(Free Threading)

Visual Studio.net允许用户开发多条互不相干的多线程的应用程序。也就是说,当用户在执行一个程序的时候,也可以在另外一条的线程独立地运行另外一个任务程序,这种过程被称为自由线程(free threading)。对于用户而言,自由线程概念的引入,使得应用程序对用户的响应将更加积极,因为任务处理器能够在某个线程正在运行时,依然保持界面对用户的响应,只要对用户响应的线程正在运行。而且,自由线程在运行大型的程序的时候,也将会很有用,因为随着运行任务的增加,用户可以多开辟几个线程来运行程序。

建立和使用一个新的线程
用户可以通过声明一个变量类型System.Threading来建立一个新的线程。并且还提供了一个Address操作和一个用户想运行的过程或方法。例如:
Dim mythread as New System.Threading.thread(AddressOf MySub)
用户可以使用"Start"方法来开始一个线程,例如thread.Start()。用"Stop"方法来终止一个线程。

时间: 2024-09-12 23:58:44

自由线程(Free Threading)的相关文章

[Thread]“ThreadPool 对象中没有足够的自由线程来完成操作”的现象和解决办法

编写者:郑昀@Ultrapower 20050406 其实微软有一篇<异步 HttpWebRequest.接口实现及其他>对此种现象解释得非常清楚,我这边只是做一个笔记. 最常见的就是使用HttpWebRequest的时候,调用Send方法出现这种错误,这是因为: 因为dotNET的ThreadPool中提供了25个自由线程/CPU(可以在machine.config中修改此数字限制),所以一旦都被占用了,就会报告InvalidOperationException异常,异常提示为: Syste

Visual Basic .NET中的语言创新

visual Visual Basic .NET中的语言创新 引言 要快速地创建企业Web应用程序,开发人员必须依靠可伸缩的.健壮的.可重用的商务逻辑.在过去的几年中,面向对象的程序设计已经成为了创建满足这些需求的系统的主要技术.使用面向对象的程序设计语言可以使得大型系统更容易理解,更容易调试,并且更新速度更快. 为了使Visual Basic开发人员从面向对象的设计中获益,简化企业Web应用程序的开发,将在Visual Basic的下一个版本 - Visual Basic .NET中支持包括实

.NET组件中的线程辅助

在Understanding COM Threading Models and Apartments from a .NET Application's perspective 这一章,你知道在创建经典COM组件之前,.NET 应用程序是怎样宣告调用线程单元辅助.现在看一下等式的另一方面.尤其是当从非托管 COM感知应用程序创建了.NET组件时,.NET组件的线程辅助被文本定义,而对象就处在这个文本中.本质上来说,一个Context就是AppDomain(轻型过程)拥有的环境 ,而对象就是在Ap

[转帖]线程之间的通讯---SynchronizationContext

近日在研究webabcd的silverlight socket聊天室时,发现一个很眼生的东东SynchronizationContext(它不认得我,我也不认得它,哈哈),摆渡了下,发现园子里有一位兄弟的文章解释得不错,转贴与此,原文:http://www.cnblogs.com/Kevin-moon/archive/2009/01/13/1374353.html   理解SynchronizationContext SynchronizationContext 类是一个基类,可提供不带同步的自

任务,过程,和线程(3)

过程 单元线程 如果一个组件被标记为单元线程,那么每个可执行的方法都将在一个和组件相联系的线程上运行.之所以成为单元线程是因为,每个新生成的组件实例都有一个相应的线程单元,每个正在运行的组件都有它自己的线程.单元线程组件要比单线程组件要好,因为多个组件可以在各自的单元中同时运行方法. 自由线程 一个自由线程组件是一个支持多线程单元的多线程组件.这意味着多个方法调用可同时运行,因为每个调用都有自己的运行线程.这能使你的组件运行快得多,但也有一些缺点.运行在同一单元中的单元组件可以在单元中直接调用其

c#重点知识详解(六:线程)

详解 如同java一样,在c#中写一个多线程应用是非常简单的,本章将介绍如何在c#种开发多线程程序.在.net中线程是由System.Threading 名字空间所定义的.所以你必须包含这个名字空间. using System.Threading; 开始一个线程 System.Threading 名字空间的线程类描述了一个线程对象,通过使用类对象,你可以创建.删除.停止及恢复一个线程.创建一个新线程通过new 操作,并可以通过start()方法启动线程 thread = new Thread(n

关于线程的参数和返回值的问题

给一个过程建立一个新的线程是一个简单的问题,但是还是有一些重要的问题需要强调一下,例如当运行一个新的线程的时候,用AddressOf操作运行的方法或过程并没有注释和参数,而且不能返回值,为了解决这个问题,下面有几种比较简单的方法,可以给线程设定一些参数,并且从一些独立的线程的过程中返回值. 1.为新建立的线程设置参数 因为在建立一个新的线程类的时候,只使用了一个AddressOf操作,这样就不能给一个即将要独立运行的线程设置一些具有标示性的议论. 一个给线程设置参数的方法就是使用全局变量,采用这

线程之间的通讯---SynchronizationContext

过年前的这段时间真是舒服,没有了平时项目发版的紧张,剩下的就是只有在网上闲逛了,哈哈! 今天早上闲逛的时候,在CodeProject发现了个不错的文章,英文好的直接去http://www.codeproject.com/KB/threads/SynchronizationContext.aspx看吧,不好,就将就的看下我的吧,呵呵!(没有直接翻译,不过大概的思路相同) 理解SynchronizationContext SynchronizationContext 类是一个基类,可提供不带同步的自

[python] 专题八.多线程编程之thread和threading

        就个人而言,学了这么多年的课程又写了这么多年的程序,虽然没有涉及到企业级的项目,但还是体会到了有几个知识点是非常重要的,包括:面向对象的思想.如何架构一个项目.设计模式来具体解决问题.应用机器学习和深度学习的方法,当然也包括我这篇文章的内容--多线程和并行化处理数据.        这篇文章主要是参考Wesley J. Chun的<Python核心编程(第二版)>书籍多线程部分,并结合我以前的一些实例进行简单分析.尤其是在大数据.Hadoop\Spark.分布式开发流行的今天,