前言
小丽:小智,小智…..
小智:哦,原来是丽丽啊
小丽:听说你最近混的还不错嘛!
小智:最近买了车和房,工资涨了一倍,还算可以
小丽:小智,你说我们还有可能吗?
小智:从当初你和王亮好的那天,我们就已经不可能了,我还有事,再见!
只见智哥挥袖而去,那潇洒的背影慢慢消失在人群中,突然传来一阵熟悉的声音。
老妈:你这兔崽子,都这么晚了,还不起床,都已经12点了
小智:哦,知道了,原来这只是一场梦啊,哎,苦逼的一天又开始了。
小智挪动着他那瘦弱的身躯,坐到电脑旁,又开始了他的新的一天,毕竟学java也已经差不多两年了,也该学着写写博客了,小智心想着,但是他自己也没想到的是,从这天开始,码农界的一颗新星正在闪亮升起。
神奇的线程
说起线程,搞java开发的应该都不陌生,线程的重要性也是不言而喻,几乎每个互联网公司面试都会必问的问题,那么他为什么这么重要呢?在传统软件公司工作的小伙伴可能在平时工作中用到线程的场景会比较少,因为传统公司的访问请求相对来说比较少,不需要使用线程完成,但是互联网公司,并发访问请求比较大,如果不使用线程的话会导致后台数据的处理速度太慢,而导致前台页面的响应速度比较慢,从而降低用户的体验,在这个用户体验至上的年代,这可能直接导致用户流失,最终导致公司倒闭。这里就涉及到性能的问题,也就是说在互联网公司工作,除了要保证网站功能的实现外,还要保证性能方面的改进,因此对于互联网公司而言这部分的内容就是必不可少的,所以对于励志想进互联网公司的小伙伴一定要重视这部分的内容。
什么是线程呢
可能对于刚刚入门的小伙伴可能不太理解这个概念,举个例子我们去酒店吃饭,会有服务人员接待我们,会为我们服务,想象一下如果这个酒店就只有一个服务人员,那么我们就必须等待这个服务人员为其他人服务好以后,才能为我们服务,要是客人少的情况下还可以忍耐,但是如果吃饭的人多的话,就导致这个服务员无法及时的为自己服务,这就导致客户体验不好,导致下次会到这家酒店吃饭,这个时候你要是老板,你会怎么做呢,你肯定会雇佣多个服务员满足客户的请求。这里面服务员就充当着线程的角色,我们的客户就是前台发过来的请求,在高并发的环境下,我们就可以使用多线程,这样可以提高请求的处理速率。
线程的定义
线程是操作系统能够进行调度运算的最小单位,它被包含在进程之中,是进程中的实际运作单位。一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务,也就是说线程是资源调度的基本单位,我们通过线程可以提高资源的处理速率,提高网站的性能。
线程是不是越多越好呢
还是回到上个例子,如果酒店生意很好,客流量很大,那么老板肯定会雇佣很多的服务员为我们服务,但是如果酒店生意不好,你觉得老板会雇这么多工作人员吗,肯定不会啊,这是要花钱的,老板又不傻,肯定不会做这种亏本的生意,同理线程也是一样,他是要消耗cpu的资源的,当你的cpu资源消耗殆尽时,你这台机器就GG了,不能提供服务了,所以我们必须根据自己网站的请求数量创建合适数量的线程。
总结
最后总结一下学到的东西,今天就讲了两个概念第一个什么是线程,第二个是线程的优缺点,学到这里,你可以对你的小伙伴说,屌丝知道什么叫线程不,哥可是会线程的男人,O(∩_∩)O哈哈~。
最后送自己一句话也是送各位猿友的一句话,今天你是谁不重要,重要的是你以后是谁,虽然现在大家看起来都差不多,但是两年、五年后差距就慢慢出来了,学习这种事情就在于积累,你可能学历不高,可能是从别的行业转过来的,但你只要肯努力,这一切都不是问题,希望大家都能有所收获,那么我写这篇博客的意义就有了,最后感谢大家百忙中抽出时间来看我写的博客,本人能力有限,可能有些东西描述不太恰当,希望大家多多谅解!!!