程序运行时 线程 - 进程之间的关系

我们平常都说一个网站支持多线程,多线程 。那么多线程是什么?

首先我们要理解线程是在进程中运行的,也可以说一个线程必须要有一个装载它的进程。 而一个进程中至少有一个线程在运行。

好,那么我们再来分析多线程。
多线程就是一个进程中有多个线程在运行。那么有什么好处,为什么不做成多进程呢?解释:服务器开辟一个线程所消耗的资源远远小于开辟一个进程所消耗的资源。且维护进程的资源成本高于维护一个线程的资源成本。而程序中的代码就是由线程去运行的(php代码该线程得编译一次再运行,java直接运行字节码)

我们经常听到的apache、nginx、tomcat 都支持多线程开发。多线程模式可以支持更高的网站迸发。

在http协议和https协议中我们可以在request中看到Connection:keep-alive 意思是长连接,既是保持该连接在一定时间内不会断开(你可以在服务器软件nginx、apache等软件中调校keep-alive的有效时间,或者是等待客户端的主动关闭请求,详情查看http协议)。在不会断开的时间内其实就是服务器那边一直在维护你的线程,没有断开这个线程。当你在一定时间内没有再次请求发送到该服务器,那么服务器就会注销掉这个线程释放服务器资源。

如果有时网站崩溃了,你可以检查一下监控time_wait的值是否过高,如果高了说明在这个时段服务器维护的线程(keep-alive的长连接)是比较多的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值