`

《C#网络编程笔记》进程与线程介绍

阅读更多
===============================================
转载时请表明出处:
《C++学习笔记》进程和线程介绍
http://www.cofftech.com/thread-1694-1-1.html
欢迎大家跟帖讨论哈~~~~~
===============================================
       进程是对一段静态指令序列(程序)的动态执行过程,是系统进行资源分配和调度的一个基本单位。与进程相关的信息包括进程的用户标志、正在执行的已经编译好的程序、进程程序和数据在存储器中的位置等等。同一个进程又可以划分为若干个独立的执行流,我们称之为线程。线程是CPU调度和分配的基本单位。在Windows环境下,用户可以同时运行多个应用程序,每个执行的应用程序就是一个进程。例如一台电脑上同时打开两个QQ时,每个运行的QQ就是一个进程;而用一个QQ和多个人聊天时,每个聊天窗口就是一个线程。
        进程和线程概念的提出,对提高软件的并行性有着重要的意义。并行性的主要特点就是并发处理。在一个单处理器系统中,可以通过分时处理来获得并发,这种情况下,系统为每个线程分配一个CPU时间片,每个线程只有在分配的时间片内才拥有对CPU的控制权,其他时间都在等待。即同一时间只有一个线程在运行。由于系统为每个线程划分的时间片很小(20毫秒左右),所以在用户看来,好像是多个线程在同时运行。

        为什么要使用多线程呢?考虑这样一种情况:在C/S模式下,服务器需要不断监听来自各个客户端的请求,这时,如果采用单线程机制的话,服务器将无法处理其他事情,因为这个线程要不断的循环监听请求而无暇对其他请求做出响应。实际上,当要花费大量时间进行连续的操作时,或者等待网络或其他I/O设备响应时,都可以使用多线程技术。
       在C#中,有两个专门用于处理进程和线程的类:Process类和Thread类。
0
0
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics