欢迎光临112期刊网!
网站首页 > 论文范文 > 计算机论文 > 计算机应用 > VB.NET下多线程技术的应用

VB.NET下多线程技术的应用

日期:2023-01-24 阅读量:0 所属栏目:计算机应用


摘 要:线程是操作系统分配时间的基本实体,可由系统调度的一个最简单的代码单元,采用多线程技术的应用程序可以较好地利用系统资源。用来创建和维护线程的基类是system.Threading.Thread类。一个进程可以创建一个或多个线程以执行与该进程关联的部分程序代码。

关键词:线程;同步;数据;程序
  1、线程、多线程的概念和意义:
  在操作系统中,进程被定义为应用程序的运行实例,是应用程序的一次动态执行。它拥有自己的地址空间。每一个进程都拥有一个主线程,同时还可以建立其他线程。线程是操作系统分配时间的基本实体,是可以由系统调度的一个最简单的代码单元,每个线程占用的时间由系统分配,系统不停地在线程之间切换。也可以将线程理解为是进程内部程序执行的路径,是进程的一个执行单元。从根本上说,线程是负责执行包含在进程的地址空间中的程序代码。
  采用多线程技术的应用程序可以较好地利用系统资源。多线程技术的主要优势在于充分利用CPU的空闲时间片,用尽可能少的时间来对用户的要求做出响应,使得进程的整体运行效率得到较大提高,同时增强了应用程序的灵活性。更重要的是,由于同一进程的所有线程是共享同一内存,所以不需要特殊的数据传送机制,不需要建立共享存储区或共享文件,从而使得不同任务之间的协调操作与运行、数据的交互、资源的分配等问题更加易于解决。
  2、Visual Basic.NET多线程编程的实现
  用来创建和维护线程的基类是system.Threading.Thread类。一个进程可以创建一个或多个线程以执行与该进程关联的部分程序代码。使用ThreadStart委托指定由线程执行的程序代码。在线程存在期间,它总是处于由Threadstate定义的一个或多个状态中。可以为线程请求由ThreadPriority定义的调度优先级。大部分的Thread成员都是虚成员,因此只可以由一个特定Thread类的实例访问。使用AddressOf语句为要运行的procedure传递委派。以下代码创建Thread1实例,将名为method1的sub过程作为单独的线程运行。
  Dim Thread1 As New System.Threading.Thread(AddressOf method1)
  Thread1.Start
  相类似的,使用Thread类的Sleep方法可以阻滞当前线程,使用suspend方法可以挂起线程,使用Suspend可以重新启动挂起的线程,使用Abort方法可以停止一个线程,使用Join方法可以使当前线程等待其他线程运行结束。
  3、线程的同步
  多线程应用程序在执行时被分成多个单元执行,这些单元被抢先型的操作系统分配在不同的时间段运行,并且拥有不同的优先权。根据线程的优先权和专门的调度算法,操作系统分配给每个线程运行一段时间,称为时间片(timeslice)。当某一时间片过去时,线程就会挂起并放回到队列中,而另一个线程就会被分配另一个时间片,接着运行。当线程挂起时,它的状态就会被保存下来,以便下一次可以由停下来的地方继续工作。
  如果是在独立的线程中运行各种处理,而不需要访问共享的资源,则无需担心线程的同步问题。不过,当两个线程读写同一个数据时,如果协调不好的话,线程可能读的数据是不完备的或者根本就读不出来数据;而写的数据也可能写不进去。为了防止这种情况发生而采取的处理措施称之为线程的同步。在Visual 的.NET Framework的CLR中提供了三种方法来完成线程的同步。
  (1)代码域同步。用Monitor类可以同步静态/实例化的方法的全部代码或者部分代码段。不支持静态域的同步。在实例化的方法中,this 指针用于同步;而在静态的方法中,类用于同步。
  (2)手工同步。使用不同的同步类(诸如WaitHandle, Mutex, ReaderWriterLock, Manual ResetEvent,AutoResetEvent和Interlocked 等)创建自己的同步机制。这种同步方式要求你自己手动的为不同的域和方法同步,这种同步方式也可以用于进程间的同步和对共享资源的等待而造成的死锁解除。
  (3)上下文同步。使用 Synchronization Attribute 为 ContextBoundObject对象创建简单的自动的同步。这种同步方式仅用于实例化的方法和域的同步。所有在同一个上下文域的对象共享同一个锁。
  4、结束语
  本文主要对visual Basic.NET的多线程机制进行了讨论,介绍了多线程的使用方法。Visual Basic .NET支持加强的、多线程开发模型,它使开发者迅速拥有了开发多线程应用程序的能力。实现需要并发执行的应用程序,尤其对于大部分时间被阻塞的程序段多线程技术是最佳选择。总之,了解和掌握多线程技术会对我们在解决实际问题时发挥很大的作用。
  参考文献:
  [1] 苏葆光,王渊明. 下多线程技术的实现[J].广西大学梧州分校学报.2005.7
  [2] 程伟,肖文教. Visual 的多线程机制[J].电脑开发与应用.2007.11
  [3] 欧广宇,邓桂英. 多线程技术基于的实现[J].微机发展.2004.11
  [4] 尹建民 张海卿. Visual 入门与进阶[ ].北京 清华大学出版社, 2002 本文链接:http://www.qk112.com/lwfw/jsjlw/jisuanjiyingyong/242670.html

论文中心更多

发表指导
期刊知识
职称指导
论文百科
写作指导
论文指导
论文格式 论文题目 论文开题 参考文献 论文致谢 论文前言
教育论文
美术教育 小学教育 学前教育 高等教育 职业教育 体育教育 英语教育 数学教育 初等教育 音乐教育 幼儿园教育 中教教育 教育理论 教育管理 中等教育 教育教学 成人教育 艺术教育 影视教育 特殊教育 心理学教育 师范教育 语文教育 研究生论文 化学教育 图书馆论文 文教资料 其他教育
医学论文
医学护理 医学检验 药学论文 畜牧兽医 中医学 临床医学 外科学 内科学 生物制药 基础医学 预防卫生 肿瘤论文 儿科学论文 妇产科 遗传学 其他医学
经济论文
国际贸易 市场营销 财政金融 农业经济 工业经济 财务审计 产业经济 交通运输 房地产经济 微观经济学 政治经济学 宏观经济学 西方经济学 其他经济 发展战略论文 国际经济 行业经济 证券投资论文 保险经济论文
法学论文
民法 国际法 刑法 行政法 经济法 宪法 司法制度 法学理论 其他法学
计算机论文
计算机网络 软件技术 计算机应用 信息安全 信息管理 智能科技 应用电子技术 通讯论文
会计论文
预算会计 财务会计 成本会计 会计电算化 管理会计 国际会计 会计理论 会计控制 审计会计
文学论文
中国哲学 艺术理论 心理学 伦理学 新闻 美学 逻辑学 音乐舞蹈 喜剧表演 广告学 电视电影 哲学理论 世界哲学 文史论文 美术论文
管理论文
行政管理论文 工商管理论文 市场营销论文 企业管理论文 成本管理论文 人力资源论文 项目管理论文 旅游管理论文 电子商务管理论文 公共管理论文 质量管理论文 物流管理论文 经济管理论文 财务管理论文 管理学论文 秘书文秘 档案管理
社科论文
三农问题 环境保护 伦理道德 城镇建设 人口生育 资本主义 科技论文 社会论文 工程论文 环境科学