zoukankan      html  css  js  c++  java
  • 进程和线程的一些问题

    因为进程是操作系统调度资源基本单位,这里的资源当然包含了CPU寄存器资源,所以只有一个CPU的话,但是想要执行多任务,

    只能让多个进程轮流占用CPU

    真正的并行是CPU的数量和执行任务(进程)的数量相等

    线程中,多个线程可能会共享同一个变量。

    由于线程由操作系统调度,调度行为无法预知,所以存取同一个共享变量的时候,可能会发生错误

    为了避免错误,需要在存取的时候,对共享的变量加锁

    但一旦加了锁,加锁的那段代码只能在同一时间一个进程执行,这样就降低了并发性

    假如线程T1在占用锁L1,此时需要再获取锁L2,同时线程T2在占用锁L2,想要获取锁L1,这样就发生了死锁

    各个进程中的资源之间相互独立,互不影响,稳定性好;但创建进程开销大

    各个线程从属于同一个进程,一个进程崩溃了整个进程也就崩溃了,多进程不稳定;但是创建的开销小

  • 相关阅读:
    订单号设计
    小公司的技术架构原则
    Redis配置详解
    实现图片懒加载
    Js的GC机制
    防抖与节流
    Js中的堆栈
    浏览器窗口间通信
    块级格式化上下文
    实现瀑布流布局
  • 原文地址:https://www.cnblogs.com/geeklove01/p/8157586.html
Copyright © 2011-2022 走看看