zoukankan      html  css  js  c++  java
  • 网络编程概念汇总

    网络编程概念汇总

     

    进程:进程是一个具有一定独立功能的程序的一次运行活动,同时也是资源分配的最小单元,即正在进行中的程序

    线程:线程是进程中的一个实体,是被系统独立调度和分派的基本单位,线程自己不拥有系统资源,只拥有一点儿在运行中必不可少的资源,但它可与同属一个进程的其它线程共享进程所拥有的全部资源。

    进程是资源分配的基本单位,线程是调度的基本单位。进程包含线程,线程共用进程的资源。

    协程:协程是一种用户态的轻量级线程,协程的调度完全由用户控制。协程拥有自己的寄存器上下文和栈。协程调度切换时,将寄存器上下文和栈保存到其他地方,在切回来的时候,恢复先前保存的寄存器上下文和栈,直接操作栈则基本没有内核切换的开销,可以不加锁的访问全局变量,所以上下文的切换非常快

    进程与线程比较

    线程是指进程内的一个执行单元,也是进程内的可调度实体。线程与进程的区别:
    1) 地址空间:线程是进程内的一个执行单元,进程内至少有一个线程,它们共享进程的地址空间,而进程有自己独立的地址空间
    2) 资源拥有:进程是资源分配和拥有的单位,同一个进程内的线程共享进程的资源
    3) 线程是处理器调度的基本单位,但进程不是
    4) 二者均可并发执行

    5)  每个独立的线程有一个程序运行的入口、顺序执行序列和程序的出口,但是线程不能够独立执行,必须依存在应用程序中,由应用程序提供多个线程执行控制

    协程与线程进行比较

    1) 一个线程可以多个协程,一个进程也可以单独拥有多个协程,这样python中则能使用多核CPU。

    2) 线程进程都是同步机制,而协程则是异步

    3) 协程能保留上一次调用时的状态,每次过程重入时,就相当于进入上一次调用的状态

    线程之间的关系 一个线程可以创建和撤消另一个线程,同一进程中的多个线程之间可以并发执行。由于线程之间的相互制约,致使线程在运行中呈现出间断性。线程也有就绪、阻塞和运行三种基本状态。

    进程和程序的区别 

    程序是放到磁盘的可执行文件,进程是指程序执行的实例;

    进程是动态的,程序是静态的:程序是有序代码的集合。通常进程不可在计算机之间迁移;而程序通常对应着文件、静态和可以复制;

    进程是暂时的,程序是长久的:进程是一个状态变化的过程,程序可长久保存;进程与程序组成不同:进程的组成包括程序、数据和进程控制块(即进程状态信息);

    进程与程序的对应关系:通过多次执行,一个程序可对应多个进程;通过调用关系,一个进程可包括多个程序。

    进程和线程的区别 

    (1) 地址空间:进程内的一个执行单元;进程至少有一个线程;它们共享进程的地址空间;而进程有自己独立的地址空间; 

    (2) 资源拥有:进程是资源分配和拥有的单位,同一个进程内的线程共享进程的资源  

    (3) 线程是处理器调度的基本单位,但进程不是.  

    (4) 二者均可并发执行.

    死锁:多个进程因竞争资源而形成一种僵局若无外力作用,这些进程都将永远不能再向前推进

    同步:一组并发进程按一定的顺序执行的过程称为进程间的同步

    互斥:指当有若干进程都要使用某一共享资源时,任何时刻最多允许一个进程使用,其他要使用该资源的进程必须等待,直到占用该资源者释放了该资源为止

    UDP协议:

    定义:User Datagram Protocol,用户数据报协议. 
    主要作用:将网络数据压缩成数据包的形式。 
    数据包格式:一个二进制数据的传输单位 

    TCP协议:

    定义:Transmission Control Protocol 传输控制协议面向连接的协议,也就是说,在收发数据前,必须和对方建立可靠的连接
    主要作用:把数据流分割成适当长度的报文段之后进行传输 

    TCP与UDP的区别:

    1. 基于连接与无连接; 
      2.对系统资源的要求(TCP较多,UDP少); 
      3.UDP程序结构较简单; 
      4.流模式与数据报模式 TCP保证数据正确性,UDP可能丢包,TCP保证数据顺序,UDP不保证。
  • 相关阅读:
    UVA 10692
    XCODE插件 之 Code Pilot 无鼠标化
    VC版超级记事本
    抓包函数-pcap_next
    通过PowerShell卸载全部的SharePoint 2010 解决方式
    typedef和#define的差别——————【Badboy】
    一个简单演示样例来演示用PHP訪问表单变量
    怎样隐藏Windows7 系统保留分区
    2016 360笔试题------找第一个仅仅出现一次的字符
    Eclipse中Easy Shell插件配置PowerCmd
  • 原文地址:https://www.cnblogs.com/zhangweijie01/p/10423193.html
Copyright © 2011-2022 走看看