标签:用户 操作系统 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进程间访问同一资源带来的线程安全问题
标签:用户 操作系统 obj 系统 new 无法 cpu back 比较
原文地址:https://www.cnblogs.com/alan-1996/p/12617058.html