zoukankan      html  css  js  c++  java
  • 一、并发、进程、线程概念

    并发

    两个或多个任务(独立活动)同时发生,一个程序同时执行多个独立的任务。

    并发有单核并发多核并发

    • 单核cpu的并发:某个时刻中能执行一个任务,操作系统调度,每秒钟进行多次的任务切换。这种上下文切换有时间开销的,比如操作系统要保存你切换时的各种状态、变量等等。
    • 多核并发:真正意义上的同时执行多个任务。

    使用并发的原因:可以同时干多个事情,提高性能。

    进程

    一个可执行程序运行起来了,就叫创建了一个进程。

    线程

    每个进程只有一个主线程,主线程随着进程默认启动起来;

    main函数就是主线程来执行的;

    线程就是用来执行代码的,执行代码的通路,创建新的线程,就有了新的道路。

    所有线程共享内存;

    多线程(并发)

    每个线程要一个独立的堆栈空间(类似于函数),线程之间的切换要保存很多中间状态还耗时间。

    如下图所示,每个玩家就是一个线程:

    多线程优点:

    • 启动速度快,轻量级;
    • 开销少,速度开;
    • 缺点:数据一致性

    以前windows和linux有各自的处理多线程的方法,不能跨平台。

    c++新标准就可以跨平台了。

  • 相关阅读:
    二 .数据库(Data)操作
    一. 数据库(Data)基础
    五种IO/模型
    并发编程 (协程)
    七.并发编程 (线程池,返回值,回调函数)
    六.并发编程 (线程对列)
    五.并发编程 (线程事件)
    四.并发编程 (线程信号量)
    三.并发编程 (线程锁)
    二.并发编程 (程序中线程操作)
  • 原文地址:https://www.cnblogs.com/pacino12134/p/11226778.html
Copyright © 2011-2022 走看看