• 进程和线程的区别与联系


    进程:是程序一次执行的实例,是系统分配资源的独立单位;

    线程:是进程执行的流程,是CPU进行调度和分派的基本单位;


    引入进程是为了解决程序不能并发执行的问题,也提高CPU利用率,但是进程之间的切换已经非常消耗资源了,所以引入线程是为了解决进程在切换时对系统资源的大量消耗的问题;


    线程是轻型进程,线程属于进程,并且在同一个进程中,多个线程拥有相同的地址空间和共享其中的资源;


    跟简单的理解:

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

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

    并行和并发:

    并发:同一个实体上的多个事件,不一定同时。比如,同一个CPU轮流执行多个线程。

    并行:不同实体上的多个事件,同时。比如,多个CPU同时执行多个进程。

    所以,并行针对进程,并发针对线程

    并发性:同一时间间隔内,发生两个或多个事件。

    并行性:同一时刻,发生两个或多个事件。

    同步运行和异步运行:

    同步:在访问临界资源时,比如打印机,一个线程必须等待上个线程执行完毕,才能执行。(线程阻塞)

    异步:在执行时间较长的线程时,去执行另一个线程。

  • 相关阅读:
    CentOS查看系统信息和资源使用已经升级系统的命令
    192M内存的VPS,安装Centos 6 minimal x86,无法安装node.js
    Linux限制资源使用的方法
    多域名绑定同一IP地址,Node.js来实现
    iOS 百度地图大头针使用
    iOS 从app跳转到Safari、从app打开电话呼叫
    设置cell背景色半透明
    AsyncSocket 使用
    iOS 监听键盘变化
    iOS 7 标签栏控制器进行模态视图跳转后变成透明
  • 原文地址:https://www.cnblogs.com/teiba/p/8996506.html
Copyright © 2020-2023  润新知