码迷,mamicode.com
首页 > 编程语言 > 详细

c#中对于线程的理解

时间:2020-04-02 01:42:00      阅读:74      评论:0      收藏:0      [点我收藏+]

标签:用户   操作系统   obj   系统   new   无法   cpu   back   比较   

1.多线程出现的背景

  操作系统在执行一个进程时会自动创建一个主线程,如果程序中有比较费时的代码,主线程在执行这段代码时就无法处理用户的命令,此时会导致应用程序假死(卡死)的状态.为了解决这类问题,引入了多线程的概念

.即在应用程序中再创建一个线程,该线程可以用于处理上面那段比较费时的代码,而主线程可以继续出里用户的命令.比面了应用程序假死的发生

2.怎样使用线程

  2.1在创建线程时指定线程所要执行的方法

    Thread th = new Thread(Test);

  2.2告诉CPU线程已经就绪,可以随时运行

    th.Start();

   注意,此时只是告诉CPU,该线程可以随时运行,并不是立即执行该线程,线程的执行有CPU决定,我们无法指定CPU何时执行!!

  2.3指定线程执行带参数的方法时

    Thread th = new Thread(Test);

    th.Start(object s);

   注意,参数的类型必须是object类型,且参数写在Start()方法中!!

  2.4前台线程和后台线程的区别

    前台线程:当所有前台线程都运行完,应用程序才能推出

    后台线程:在应用程序退出时会自动退出

   注意,主线程是前台线程,创建的线程可以通过指定th.IsBackground为true设置为后台线程

  2.5进程间访问同一资源

 

  2.6进程间访问同一资源带来的线程安全问题

 

c#中对于线程的理解

标签:用户   操作系统   obj   系统   new   无法   cpu   back   比较   

原文地址:https://www.cnblogs.com/alan-1996/p/12617058.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!