`
deepfuture
  • 浏览: 4400415 次
  • 性别: Icon_minigender_1
  • 来自: 湛江
博客专栏
073ec2a9-85b7-3ebf-a3bb-c6361e6c6f64
SQLite源码剖析
浏览量:80076
1591c4b8-62f1-3d3e-9551-25c77465da96
WIN32汇编语言学习应用...
浏览量:70040
F5390db6-59dd-338f-ba18-4e93943ff06a
神奇的perl
浏览量:103353
Dac44363-8a80-3836-99aa-f7b7780fa6e2
lucene等搜索引擎解析...
浏览量:285810
Ec49a563-4109-3c69-9c83-8f6d068ba113
深入lucene3.5源码...
浏览量:15012
9b99bfc2-19c2-3346-9100-7f8879c731ce
VB.NET并行与分布式编...
浏览量:67561
B1db2af3-06b3-35bb-ac08-59ff2d1324b4
silverlight 5...
浏览量:32151
4a56b548-ab3d-35af-a984-e0781d142c23
算法下午茶系列
浏览量:45988
社区版块
存档分类
最新评论

VB.NET并行与分布式编程(5)-线程状态与调整[4]

 
阅读更多

 2)通过System.Diagnostics.ProcessThread来设置优先级,它能设置比第1种方法更多的优先级

Idle  指定空闲优先级。 它是所有线程的可能的最低优先级值,与关联的 ProcessPriorityClass 的值无关。 
 Lowest  指定最低优先级。 这比关联的 ProcessPriorityClass 的普通优先级低两级。 
 BelowNormal  指定的优先级比关联的 ProcessPriorityClass 的普通优先级低一级。 
 Normal  指定关联的 ProcessPriorityClass 的普通优先级。 
 AboveNormal  指定的优先级比关联的 ProcessPriorityClass 的普通优先级高一级。 
 Highest  指定最高优先级。 这比关联的 ProcessPriorityClass 的普通优先级高两级。 
 TimeCritical  指定时间关键优先级。 这是所有线程中的最高优先级,与关联的 ProcessPriorityClass 的值无关

 

部分代码

        Dim myprocess As Process = Process.GetCurrentProcess()
        Dim value As ProcessThreadCollection
        Dim pt As ProcessThread
        value = myprocess.Threads
        For Each pt In value
            pt.PriorityLevel = ThreadPriorityLevel.AboveNormal
        Next

 

此外,还可以设置线程动态优先级调整的开关

ProcessThread.PriorityBoostEnabled

 

当 PriorityBoostEnabled 为 true 时,只要关联的进程离开等待状态,系统便暂时提升该线程的优先级。 此操作可防止其他进程中断当前线程的处理。 PriorityBoostEnabled 设置影响所有现有线程及该进程随后创建的所有线程。 若要还原正常行为,请将 PriorityBoostEnabled 属性设置为 false。

仅当线程运行在一个将 PriorityClass 设置为动态优先级枚举值之一(Normal、High 或 RealTime)时,PriorityBoostEnabled 才有效。

 

 4、睡眠与阻塞

Sleep(Int32)将当前线程挂起指定的时间。
注意参数为线程被阻塞的毫秒数
Imports System.Threading

Class Example

    Shared Sub Main()

        For i As Integer = 0 To 4
            Console.WriteLine("Sleep for 2 seconds.")
            Thread.Sleep(2000)
        Next

        Console.WriteLine("Main thread exits.")
    End Sub
End Class

 
Sleep(TimeSpan)将当前线程阻塞指定的时间。
 
下面是关于msdn的阻塞的例子
Imports System.Threading

Class Example

    Shared Sub Main()

        Dim interval As New TimeSpan(0, 0, 2)

        For i As Integer = 0 To 4
            Console.WriteLine("Sleep for 2 seconds.")
            Thread.Sleep(interval)
        Next

        Console.WriteLine("Main thread exits.")
    End Sub
End Class

 
5、挂起与恢复
        mythread1.Start(myprocess)
        mythread2.Start(myprocess)
        mythread3.Start(myprocess)
        mythread1.Suspend()
        mythread2.Suspend()
        mythread3.Suspend()

        mythread1.Resume()
        mythread2.Resume()
        mythread3.Resume()
  

 

分享到:
评论

相关推荐

    深入.net平台和c#编程PPT-07

    7. **多线程编程**:讨论在.NET中进行并发和并行编程的方法,如Thread类、Task类,以及锁、Monitor、Mutex、Semaphore等同步机制。 8. **ASP.NET Web开发**:如果PPT深入到Web应用开发,可能会涵盖ASP.NET的基础...

    vb.net.zip_VB.NET 控件_vb.net_vb.net excel_vb.net 控件_vb.net控件

    VB.NET 支持线程操作,这个文件可能包含使用VB.NET创建和管理线程的实例,比如并行处理任务,或者实现后台任务。 7. **WebService_mehta.zip**:Web服务是一种通过HTTP协议提供和消费的接口,允许不同系统间的通信...

    VB.NET高级编程

    5. 并发编程:VB.NET支持多线程编程,可以使用Thread类创建和管理线程。Task类和Parallel类提供了异步编程和并行处理的能力,利用多核处理器提升程序性能。VB.NET还引入了async/await关键字,简化了异步编程的复杂度...

    VB.NET应用集锦例程源代码

    《VB.NET应用集锦例程源代码》是一个包含多个VB.NET工程实例的资源包,旨在帮助学习者深入了解和掌握VB.NET编程技术。这个资源包包括了五个不同的项目源代码,覆盖了VB.NET的基础到进阶应用,对于计算机专业的学生...

    vb.net中高级篇.rar_.net_vb net_vb_net_vb.net_vb.net_

    VB.NET是Microsoft开发的一种编程语言,它是Visual Basic的.NET版本,设计用于构建Windows应用程序、Web应用程序和分布式系统。本资源“vb.net中高级篇.rar”显然聚焦于VB.NET的进阶概念和技术,对于想要深入理解和...

    VB.net 可视电话程序

    5. **并发与同步**:使用异步编程模型(如async/await关键字)处理并发请求,保证多个通信任务的并行处理。 6. **状态管理**:实现用户状态的管理,如在线、离线、忙碌等,便于判断能否进行通话。 **三、应用拓展...

    浅谈.NET下的多线程和并行计算.pdf

    ### .NET下的多线程与并行计算:深入解析与应用 #### 一、引言 随着计算机硬件的发展,特别是多核处理器的普及,多线程和并行计算已成为现代软件开发不可或缺的一部分。本文旨在探讨.NET框架下多线程与并行计算的...

    Visual.Basic.2010&.NET.4高级编程(第6版)

    《Visual.Basic.2010&.NET.4高级编程(第6版)》是一本专为那些希望继续使用Visual Basic进行.NET框架4.0环境下高级编程的开发者量身定制的指南。这本书针对从VB6.0过渡到VB2010的程序员,旨在帮助他们充分利用...

    Apress - Pro VB 2008 and the .NET 3.5 Platform, 3rd Edition (Mar 2008)

    9. **并发与多线程**:VB 2008提供了对多核处理器和并发编程的支持,包括线程同步、异步编程和并行 LINQ。 10. **调试与性能优化**:介绍Visual Studio 2008中的调试工具,以及如何分析和优化代码性能。 这本书还...

    经典的.NET 面试题

    - VB.NET:另一种.NET语言,语法与Visual Basic类似,但完全基于.NET框架。 - F#:函数式编程语言,也可在.NET框架上运行。 3. **ASP.NET** - ASP.NET是.NET框架的一部分,用于构建Web应用程序。主要版本有ASP...

    .Net framwwork 4.0

    VB.NET则引入了多线程并行计算的支持,利用了多核处理器的优势,提高了程序执行速度。 其次,.NET Framework 4.0中的Common Language Runtime (CLR)进行了优化,提高了内存管理效率,降低了垃圾回收的开销。同时,...

    .NET面试大全【经典,值得珍藏】

    2. VB.NET:另一种流行的.NET语言,语法与VB6类似,但支持.NET框架的所有功能。 3. F#:函数式编程语言,也可用于.NET开发,适合处理数据科学和并行计算任务。 三、ASP.NET 1. ASP.NET Web Forms:基于控件的模型,...

    VS.net九大案例代码

    7. **并发与多线程**:VS.NET提供了对多核处理器和异步编程的良好支持。案例可能包括如何创建并管理线程,使用任务并行库(TPL)进行并发编程,以及处理锁和同步问题。 8. **Azure云服务**:VS.NET可以用于开发Azure...

    精通.Net核心技术原理与构架+精通.NET核心技术高级特性

    4. **多线程(Multithreading)**: 学习如何在.NET中创建和管理线程,实现并行计算。 5. **WCF(Windows Communication Foundation)**: 微软的服务导向架构框架,用于构建分布式系统。 6. **.NET框架安全性(.NET...

    .net4.0安装文件

    8. **并行编程和Task Parallel Library (TPL)**:.NET 4.0引入了对多核处理器更充分的利用,通过TPL提供了并行编程的支持,使开发者能编写高性能的多线程应用程序。 9. **内存诊断工具**:.NET 4.0提供了诊断工具,...

    Microsoft .NET Framework 4(独立安装程序)

    2. **C# 4.0 和 VB.NET 10.0**:这两个编程语言随着.NET Framework 4一同发布,引入了新的特性,如动态类型、命名参数、可空引用类型和多目标框架支持。 3. **WCF(Windows Communication Foundation)**:这个组件...

    VisualC++.NET教程

    6. **并发和多线程**:Visual C++.NET支持多线程编程,利用.NET Framework的ThreadPool和Task Parallel Library(TPL)可以方便地编写高效的并行代码,充分利用多核处理器的优势。 7. **单元测试和调试**:IDE内置...

    en_microsoft_.net_framework_4_for_server_core_x64_sc_640395.exe.zip

    9. **多线程和并发**:.NET Framework 4改进了多线程和并发处理,支持任务并行库(TPL),使多核处理器环境下更高效。 10. **垃圾回收(Garbage Collection)**:自动内存管理机制,确保程序不会因内存泄漏而崩溃。...

    Advanced .NET Programming

    - **多线程与并行计算**:学习如何在.NET中有效地管理和调度线程,以充分利用多核处理器的计算能力。 - **代码分析和性能调优工具**:使用Visual Studio和其他工具来识别和解决性能瓶颈,提高代码执行效率。 ### 4....

    .net面试题

    它包含一组全面的开发工具和库,支持多种编程语言,如C#、VB.NET、F#等。面试中,针对.NET的技术考察通常涵盖以下几个关键领域: 1. **基础概念**:了解.NET框架的基本构成,如CLR(Common Language Runtime)——...

Global site tag (gtag.js) - Google Analytics