多线程和并发的区别和关系 10
请教大家些问题,因为之前自己一直是写业务,所以很多东西不太懂,希望大家不吝赐教。1,多线程跟高并发的区别和关系是啥?我知道并发的概念相当于马路上多个车道并行的车辆,多线程...
请教大家些问题,因为之前自己一直是写业务,所以很多东西不太懂,希望大家不吝赐教。
1,多线程跟高并发的区别和关系是啥?我知道并发的概念相当于马路上多个车道并行的车辆,多线程呢?我一手玩手机一手吃饭?并发是同时做一件事,多线程是同时做不同的事?
2.了解了一点网络编程,总算把网络协议稍微捋顺了,我们项目中用到了socket开发?我挺好奇,socket属于传输层啊,这个有什么开发呢?知道ip端口不就行了吗?应用层的开发也是同样的问题。
3.我们写的代码只有一套,为什么不同的用户登陆能区分而且变量不会共享呢?当然变量不会共享这个我知道是因为私有变量,但是我奇怪的是“谁”把这些区分的呢?会话层?
问的问题有些基础,谢谢大家了 展开
1,多线程跟高并发的区别和关系是啥?我知道并发的概念相当于马路上多个车道并行的车辆,多线程呢?我一手玩手机一手吃饭?并发是同时做一件事,多线程是同时做不同的事?
2.了解了一点网络编程,总算把网络协议稍微捋顺了,我们项目中用到了socket开发?我挺好奇,socket属于传输层啊,这个有什么开发呢?知道ip端口不就行了吗?应用层的开发也是同样的问题。
3.我们写的代码只有一套,为什么不同的用户登陆能区分而且变量不会共享呢?当然变量不会共享这个我知道是因为私有变量,但是我奇怪的是“谁”把这些区分的呢?会话层?
问的问题有些基础,谢谢大家了 展开
1个回答
展开全部
进程和线程都是由操作系统所体会的程序运行的基本单元,系统利用该基本单元实现系统对应用的并发性。进程和线程的区别在于:
简而言之,一个程序至少有一个进程,一个进程至少有一个线程.
也就是说一个进程可以有很多线程。
“并行”是指无论从微观还是宏观,二者都是一起执行的,就好像两个人各拿一把铁锨在挖坑,一小时后,每人一个大坑。
而“并发”在微观上不是同时执行的,只是把时间分成若干段,使多个进程快速交替的执行,从宏观外来看,好像是这些进程都在执行,这就好像两个人用同一把铁锨,轮流挖坑,一小时后,两个人各挖一个小一点的坑,要想挖两个大一点得坑,一定会用两个小时。
从以上本质不难看出,“并发”执行,在多个进程存在资源冲突时,并没有从根本提高执行效率。
简而言之,一个程序至少有一个进程,一个进程至少有一个线程.
也就是说一个进程可以有很多线程。
“并行”是指无论从微观还是宏观,二者都是一起执行的,就好像两个人各拿一把铁锨在挖坑,一小时后,每人一个大坑。
而“并发”在微观上不是同时执行的,只是把时间分成若干段,使多个进程快速交替的执行,从宏观外来看,好像是这些进程都在执行,这就好像两个人用同一把铁锨,轮流挖坑,一小时后,两个人各挖一个小一点的坑,要想挖两个大一点得坑,一定会用两个小时。
从以上本质不难看出,“并发”执行,在多个进程存在资源冲突时,并没有从根本提高执行效率。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询