Java--端口号&进程&线程

  1. 端口号:用来区分同一台电脑的的不同的服务
    1. 端口包括物理端口和逻辑端口。物理端口是用于连接物理设备之间的接口,逻辑端口是逻辑上用于区分服务的端口。TCP/IP协议中的端口就是逻辑端口。
      一个IP地址的端口通过16bit进行编号,最多可以有65536个端口。范围是从0 到65535。 端口有什么用呢?一台拥有IP地址的主机可以提供许多服务,比如Web服务、FTP服务、SMTP服务等,这些服务都可以通过一个IP地址来实现,那如何区分不同的服务呢,
      这时就要通过“IP地址
      +端口号”来区 分不同的服务。

      可以这样理解:网络地址是家庭住址,端口是门牌号码,网络数据包是快递,快递员(网络驱动)根据不同的门牌号(端口)把包裹(数据包)送到不同的人家(应用或服务)。

      理论上只有服务器软件才会绑定固定端口,客户端的一般是随机的。客户端端口和服务端端口是独立的。就像你和你朋友的门牌号不同,却可以互相通信(只要在通信时互相知道对方的网络地址和端口)。

  2. 进程:

    1. 进程是正在运行的程序的实例。是一个具有独立功能的程序关于某个数据集合的一次运行活动。它可以申请和拥有系统资源,是一个动态的概念,是一个活动的实体。
  3. 线程:

    1. 通常在一个进程中可以包含若干个独立的执行流,即线程。它们可以利用进程所拥有的资源。
      
      每个线程都是作为利用CPU的基本单位,是花费最小开销的实体。
      
      在一个进程中的多个线程之间,可以并发执行。同样,不同进程中的线程也能并发执行。
      
      对于C#,任何C#程序都有一个默认的线程,即主线程。一个线程要么是前台线程,要么是后台线程。后台线程与前台线程类似,区别是后台线程不会影响进程终止。
      当属于进程的前台线程全部终止后,不管后台线程是否结束,进程都结束。 如果使用一个线程监视某些服务(如套接字连接),可以将其设置IsBackground设为True,以便该线程不会影响进程终止

       

        

        

        
posted @ 2021-07-25 16:37  张紫韩  阅读(552)  评论(0编辑  收藏  举报