c#中对于线程的理解

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进程间访问同一资源带来的线程安全问题

猜你喜欢

转载自www.cnblogs.com/alan-1996/p/12617058.html