关于java多线程的一些粗俗的理解

        看了关于多线程的一些优点和缺点,太专业的文字总觉得不是那么好记住,但生活有很多东西就像多线程,所以我们到底什么时候用多线程,用了带给我们了什么好处,但如果你不能合理运用,只是概念上的理解,反而是适得其反。java编程思想的那句话非常接地气,万事万物皆对象。下面我举两个生活关于多线程的例子:

        当我们在做一顿午餐的时候,洗菜,切肉,煮饭,煲汤,烧水。如果你列个清单一件件执行,正常人应该觉得这是件很傻的事情,当然这样一件件完成也能最终完成,而这种情境,我的理解就是像我们代码中的单线程一样,代码块一节一节按顺序来处理。午餐的做法我们通常是,你可能先把饭煮了,在煮的过程你可以腾出时间洗菜,或者切肉,也可以用另外一个炉子煲汤,效率一下子就可以看出来了,其实我们80后都读过一篇华罗庚文章《统筹方法》,在这篇文章中我们可以看到我们程序中所描述多线程的影子。这个例子我定义为是多线程的优点。

         生活中当然有多线程的缺点也是很容易见到的,我就拿我们经常坐的交通工具作为例子--挤公交。在广州拥挤的城市里,我每天都要挤公交,上下班的时候公交资源根本不给力,等很久才有一辆,有时候来了,上面也挤满了很多人,等车的基本无秩序上车,全部人一起挤着公车那小小的车门,特别早上的时候,我还要自己走路飞站找个站少点人的地方等,这种情况就是多线程的缺点,每个人像一个线程,都同时冲车门,互不相让,还有车到站的时候,人还追车,前段时间新闻还报道压到人了,后果可想而知;现在早上公交公司派人维持秩序,每辆都要求乘客一个个上车,现在我早上上班基本都能很快搭上车。但没有人维持秩序的时候,我又会看到多线程缺点的影子了。

        而关于死锁等问题我想这不能定义为多线程的缺点,只能说自己没真正运用好。以上就是我的不才之见,谢谢大家!


你可能感兴趣的:(关于java多线程的一些粗俗的理解)