1.进程和线程的区别?为什么要用多线程?多线程适合在哪些场合?
进程是正在运行的程序,线程是某个进程中的一个或多个执行执行流。多线程可让多个任务同时执行。当执行需要长时间才能完成的连续操作时,或者等待网络或其他I/O设备相应时,都可以使用多线程技术。
2.一个线程要么是前台线程妖魔是后台线程?
两者的区别是:后台线程不影响进程终止,而前台线程则会影响进程终止。
3.什么是同步?为什么需要同步?C#提供了什么语句可以简单的实现同步?
执行某语句时,在该语句执行之前不会执行其后的代码,这种方式称之为同步。当并行执行的多个线程同时访问某些资源时,必须考虑如何让多个线程保持同步。同步的目的是为了防止多个线程同时访问某些资源出现死锁和征用情况。C#提供的Lock语句可以简单的实现代码同步。
4.什么是线程池?使用线程池有什么好处?
线程池是在后台执行任务的线程集合,好处有:(1)如当某个线程无法进入线程池执行时将其放入线程队列,自动决定用哪个处理器执行线程池中的某个线程,自动调节这些线程执行时负载均衡问题等。另外,线程池总是在后台异步处理请求的任务,而不会占用主线程,也不会延迟主线程中后续请求的处理。
5.应用程序域和进程有什么区别和联系?
一个进程既可以只包含一个应用程序域,也可以同时包含多个相互隔离的应用程序域。多进程是在操作系统级别使用的功能,资源消耗较大,细节控制复杂;应用程序域是在应用程序级别使用的功能,比直接用多进程来实现进程管理速度快、资源消耗少而且安全,是轻量级的进程管理。
原文:https://www.cnblogs.com/sundh1981/p/13717239.html