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