• 进程与线程


    //一:并发、进程、线程的基本概念和综述
    //并发和线程,进程要求必须掌握;
    //(1.1)并发
    //两个或者更多的任务(独立的活动)同时发生(进行);一个程序同时执行多个独立的任务;
    //以往计算机单核cpu,某一时刻只能执行一个任务,实现多任务的方式是由操作系统调度,时间轮盘等
    //引起假象的并发,这种切换是上下文切换,又时间开销
    //多处理器计算机,用于服务器和高性能计算
    //台式机:多核cpu 能实现正真的并行 同时执行多个任务(任务数量少于核的数量)
    //使用并发的原因:主要是同时可以做多个任务 提高性能

    //(1.2)可执行程序
    //磁盘上的一个文件:Windows下,扩展名为exe。Linux下,is -la ,rwxrwxrwx(x执行权限)

    //(1.3)进程:可执行文件是可以执行的,
    //Windows下双击一个可执行程序来运行。Linux下 ./文件名
    //进程就是一个可执行程序运行时,就叫创建一个进程

    //(1.4)线程
    //a)每个进程是执行的可执行程序,都有一个主线程,这个主线程是唯一的,也就是一个进程中只能有一个主线程
    //当实行一个可执行程序,产生一个进程后,主线程就随着进程启动
    //实际上运行程序的时候,是进程的主线程来执行(调用)main函数中的代码
    //主线程与进程必然一起运行一起结束
    //线程:执行代码的

    //多线程(并发)
    //线程不是越多越好,每个线程都需要独立的堆栈空间,线程间的切换要保存很多中间状态
    //切换会消耗本该属于程序运行的时间


    //并发的实现方法
    //两个或者更多的任务(独立的活动)同时发生(进行);
    //实现并发的手段:
    //a)通过多个进程实现并发
    //b)在单独的进程中创建多个线程来实现并发;自己写代码来创建除了主线程之外的其他线程


    //(2.1)多进程并发
    //word启动后就是进程;ie浏览器启动也是进程
    //账号服务器,游戏逻辑服务器。服务器进程之间的通信
    //进程间通讯:(同一个电脑上)管道,文件,消息队列,共享内存;
    //不在同一电脑上:socket通信技术


    //(2.2)多线程并发:单个进程中创建了多个线程
    //轻量级的进程,每个线程都有自己独立的运行路径,但是一个进程中所有线程共享地址空间(共享内存);
    // 全局变量,指针,引用都可以在线程之间传递,所以使用多线程开销远远小于多进程
    //共享内存带来新问题:数据一致性问题:线程a 线程b;优先考虑多线程技术而不是多进程

    //(3)c++11新标准线程库
    //以往多的线程不能跨平台

  • 相关阅读:
    开放不应是唯一的价值观,互联网营销 狼人:
    什么是互联网产品的运营?,互联网营销 狼人:
    十年:邮箱,互联网营销 狼人:
    瘦客户端那些事 开篇,互联网营销 狼人:
    谈谈互动型网站中垃圾贴的应对方案,互联网营销 狼人:
    告诉你一个真实的中国互联网:精英与草根,互联网营销 狼人:
    从Google Wave和XML看软件复杂性之争,互联网营销 狼人:
    构建可伸缩高性能的互联网应用,互联网营销 狼人:
    注册接口使用StructureMap和Autofac等Ioc容器
    备份文件oracle 10g rman备份与恢复 之二
  • 原文地址:https://www.cnblogs.com/ymj11/p/13854463.html
Copyright © 2020-2023  润新知