编程浪子的博客

碌碌无为终为过

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

    线程是程序中独立的指令流。所以程序都有一个入口点,程序从这个入口点开始执行,直到这个入口方法返回为止。

    在C#程序中,入口点方法是Main()。程序都是从Main()的第一条指令开始执行的。

    这种程序结构非常适合于其中有一个可识别的任务序列的程序,但程序常常要并行完成多个任务。一次有了线程的概念。线程对客户端和服务器端都很重要。比如在VS编辑器中编辑代码时,系统会有一个线程接收用户的输入,一个后台线程运行代码分析用下划线标出出现的语法错误等。运行在服务器上的应用程序中,会有一个等待客户请求的侦听线程,只要客户请求,就把请求传递给另一个工作线程,之后继续与客户端进行通信。

        进程包含系统资源。如Windows句柄、文件系统句柄或其他内核对象。每个进程都分配虚拟内存,一个进程至少包含一个线程,操作系统会调度线程。线程有一个优先级、实际正在处理的程序的位置计数器、一个存储其局部变量的栈。每个线程都有自己的栈,但程序代码的内存和堆由一个进程的所有资源共享。所以,一个进程之内的所有线程之间的通信非常快:因为该进程的所有线程都寻址相同的内存。但是也会出现多个线程修改同意内存的问题。

        总结:进程管理的资源包含Windows句柄和内存,其中至少包含一个线程。线程是运行程序所必需的。

 

Technorati 标签: 线程,进程
posted on 2011-02-17 21:31  编程浪子_  阅读(476)  评论(0编辑  收藏  举报