2

进程线程(进程线程程序的区别)

互联网面试,Nginx 和Apache 的区别与!

Nginx 为什么在高并发处理优于httpd,为什么现在我们在高并发业务系统中,经常使用Nginx 而不是Apache 。

其实这需要你了解Apache 的三种工作模式。prefork ,worker 和event ,他们分别表示多进程,多线程,和异步I/O。

而Nginx的工作原理中则多了cache loader和cache manager ,当你明白了上述的工作模式的工作原理,那么就能够明白了。

具体分析可以参考下图,虽然不是很全面,但是用于面试吹Nginx 和Apache 的区别反正是足够了!

#互联网##程序员#

今天,一个毕业不久的同事,和我探讨了一下进程的地址空间的问题,他问我几个问题:

1. 进程的虚拟地址会和别的进程碰上吗?

2. 线程是独立的地址空间还是共享进程的地址空间。

3. 虚拟地址到底有啥作用?

其实,对于当初入职的我来说,对于这些概念,也是有些模糊,今天,我给他做了简单的解答:

对于问题1,我说进程之间是相互独立的地址空间,虚拟地址碰上很正常,但是物理地址是不一样的。

对于问题2,线程的地址空间是共享进程的,举个简单的例子,在进程里创建个全局变量,线程里是可以访问到的,也就是线程是可以找到全局变量的地址的。

对于问题3,虚拟地址是Linux内核管理内存的一种非常号的方式,有了虚拟地址的管理后,可以有效的管理进程的地址空间,因为,Linux内核会将虚拟地址通过页表的映射方式找到真正的物理内存,也就是说,即使两个进程的虚拟地址相同,也会被Linux内核映射不同的物理地址,这样大大减少了开发的工作量,开发人员只需要编写程序即可,内存分配交给操作系统。

本文来自网络,不代表本站立场。转载请注明出处: https://tj.jiuquan.cc/a-2153651/
1
上一篇runtime(runtime error怎么修复)
下一篇 超神x(超神学院第一季)

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: alzn66@foxmail.com

关注微信

微信扫一扫关注我们

返回顶部