zoukankan      html  css  js  c++  java
  • 进程和线程区别理解

      进程是指一个内存中运行的应用程序,每个进程都有自己独立的一块内存空间,一个进程中可以启动多个线程。比如在Windows系统中,一个运行的exe就是一个进程。

      线程是指进程中的一个执行流程,一个进程中可以运行多个线程。比如java.exe进程中可以运行很多线程。线程总是属于某个进程,进程中的多个线程共享进程的内存.

      “同时”执行是人的感觉,在线程之间实际上轮换执行。(cpu轮换执行线程)

      子进程和父进程有不同的代码和数据空间,而多个线程则共享数据空间,每个线程有自己的执行堆栈和程序计数器为其执行上下文。多线程主要是为了节约CPU时间,发挥利用,

      根据具体情况而定。线程的运行中需要使用计算机的内存资源和CPU。

      一个程序至少有一个进程,一个进程至少有一个线程.

      线程的划分尺度小于进程,使得多线程程序的并发性高.

      另外,进程在执行过程中拥有独立的内存单元,而多个线程共享内存,从而极大地提高了程序的运行效率。

      线程在执行过程中与进程还是有区别的。每个独立的线程有一个程序运行的入口、顺序执行序列和程序的出口。但是线程不能够独立执行,必须依存在应用程序中,由应用程序

    提供多个线程执行控制。

      从逻辑角度来看,多线程的意义在于一个应用程序中,有多个执行部分可以同时执行。但操作系统并没有将多个线程看做多个独立的应用,来实现进程的调度和管理以及资源分

    配。这就是进程和线程的重要区别

      

  • 相关阅读:
    iOS之在AppDelegate中push到指定页面
    iOS之iOS中的(null)、<null>、 nil 的问题
    HTML表格属性及简单实例
    iOS多语言设置
    HTML简单介绍
    iOS-WebView(WKWebView)进度条
    OC 中property的使用
    Memory map of an object array
    2018-10-15 21:07:38 c language
    2018-10-15 00:41:45 c language
  • 原文地址:https://www.cnblogs.com/garfieldcgf/p/5488861.html
Copyright © 2011-2022 走看看