• C#中线程的基本应用


    一、定义名称空间

    在.NET中,多线程功能是在System.Threading名称空间中定义的。

    因此,在使用任何线程类之前,必须定义 System.Threading名称空间。定义方法如下:

    using System.Threading

    二、启动线程

    System.threading名称空间中的Thread类代表一个线程对象,用这个类对象可以[创建]新的线程,也可以[删除]、[暂停]和[恢复]线程。

    例:下面的代码使用Thread类创建一个新的线程,然后启动这个线程:

    thread = new Thread(new ThreadStart( runFun )); 
    thread.Start();

    其中runFun是这个线程要执行的一个函数,代码如下:

    protected void runFun() 

      string str ; 
      for ( int i = 0; i<=10000; i++ ) 
      { 

        str = "第二线程" + i.ToString(); 
        Console.WriteLine(listView1.ListItems.Count, str, 0, new string[]{""} ); 
        Update(); 
      } 
    }

    三、杀死线程

    Thread类的Abort方法用于永久地杀死一个线程。但是请注意,在调用Abort方法前一定要判断线程是否还激活,也就是判断thread.IsAlive的值:

    if ( thread.IsAlive ) 

      thread.Abort(); 
    }

    四、暂停线程

    Thread.Sleep方法用于将一个线程暂停一段时间,代码如下:

    thread.Sleep();

    五、设置线程的优先权

    我们可以使用Thread类的ThreadPriority属性设置线程的优先权线程优先权的取值范围是Normal、AboveNormal、BelowNormal、Highest或者Lowest.

    设置代码:

    thread.Priority = ThreadPriority.Highest;

    六、延迟线程

    Thread类的Suspend方法可以延迟一个线程。线程被延迟到调用Resume方法为止。

    if (thread.ThreadState = ThreadState.Running ) 

      thread.Suspend(); 
    }

    七、恢复被延迟的线程

    调用Resume方法可以恢复一个被延迟的线程。如果线程没有被延迟,Resume方法就是无效的。

    if (thread.ThreadState = ThreadState.Suspended ) 

      thread.Resume(); 
    }

  • 相关阅读:
    mysql高级排序&高级匹配查询示例
    为什么我说我会这会那,但真正到回答实际问题的时候却傻了眼了?
    微软职位内部推荐-SW Engineer II for WinCE
    微软职位内部推荐-Senior Program Manager
    微软职位内部推荐-Software Engineer II-Web app
    微软职位内部推荐-Senior Software Engineer -Web
    微软职位内部推荐-Senior Software Engineer-News
    微软职位内部推荐-Software Engineer II-News
    微软职位内部推荐-SDE II
    微软职位内部推荐-Software Engineer II-Data Mini
  • 原文地址:https://www.cnblogs.com/xiangers/p/1861502.html
Copyright © 2020-2023  润新知