线程、进程、端口号

线程作为进程内的执行单元,一个进程可包含多个线程,共享地址空间,开销小,易于数据共享。而进程间通过复杂机制如互斥锁、信号量实现资源管理。同一端口只能运行一个进程,如Tomcat占用8080后,其他进程无法再使用。理解线程与进程的区别和交互对于优化系统资源利用至关重要。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

线程和进程

  • 线程在进程内,一个线程只可以属于一个进程,但一个进程能包含多个线程
  • 线程无地址空间,它包括在进程的地址空间里。
  • 线程的开销或代价比进程的小
  • 不同进程间数据很难共享,同一进程下不同线程间数据很易共享
  • 进程间不会相互影响,一个线程挂掉将导致整个进程挂掉
  • 进程使用的内存地址可以上锁,即一个线程使用某些共享内存时,其他线程必须等它结束,才能使用这一块内存。(比如火车上的洗手间)-“互斥锁”
  • 进程使用的内存地址可以限定使用量(比如火车上的餐厅,最多只允许多少人进入,如果* 满了需要在门口等,等有人出来了才能进去)-“信号量”

线程和端口号

一个进程可以占用多个端口号(如java idea程序开辟多个端口进行通信(多个Socket))

但是同一时间,一个端口号只能运行一个进程(如:tomcat占用了8080,别的程序就不能再使用8080了)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值