【JAVA并发编程】--为什么要学习JAVA并发?

        我们常常在学习一门新技术之前,都要问自己一遍:为什么要学习这门技术?

        就如当年你是为何投入JAVA的大军,而非C++\PHP\Phython?拿我自己来讲,想法尤其简单。因为那时JAVA最火啊,用这门技术的企业最多,工作最好找。  哈哈,我相信这不光是我一个人的想法。也要感谢当年如此幼稚的想法,为此我义无反顾地走上这条道路,虽无诸多成就,也未曾后悔。

        好像扯远了,那回到我们主题,JAVA技术体系尤其庞大,为什么我认为JAVA并发编程对于掌握java技术体系是如此的重要。如今互联网技术依托的硬件技术已非常先进成熟。一般我们现在的服务都部署在配置相对较高的硬件环境中,多核处理器是必然。

        我们可以把当前的服务运行环境理解为:一个程序内部能拥有多个线程并行执行。一个线程的执行可以被认为是一个CPU在执行该程序。当一个程序运行在多线程下,就好像有多个CPU在同时执行该程序。这本来是件好事,多线程执行,大大提高了我们的程序运行效率。但令人头疼的多线程安全问题,也随之而来。如果一个线程在读一个内存时,另一个线程正向该内存进行写操作,那进行读操作的那个线程将获得什么结果呢?是写操作之前旧的值?还是写操作成功之后的新值?或是一半新一半旧的值?或者,如果是两个线程同时写同一个内存,在操作完成后将会是什么结果呢?是第一个线程写入的值?还是第二个线程写入的值?还是两个线程写入的一个混合值?因此如没有合适的预防措施,任何结果都是可能的。而且这种行为的发生甚至不能预测,所以结果也是不确定性的。

        所以综合而言,学习并发编程有最重要的2点。

        1、理解并发编程原理,便于我们更好的提高CPU的使用率,加快任务执行速度,降低系统响应时间;

       2、运用好并发编程能帮我们很好地解决多线程安全问题;

    其实当前笔者对JAVA并发的理解也不是很深入,计划也是边学习边记录,期待自己在此方向有所进步。感兴趣的同学可以跟随笔者一起开始我们的JAVA并发学习:JAVA并发编程--学习路线

        

你可能感兴趣的:(JAVA并发系列)