`
donlianli
  • 浏览: 340430 次
  • 性别: Icon_minigender_1
  • 来自: 北京
博客专栏
Group-logo
Elasticsearch...
浏览量:218560
社区版块
存档分类
最新评论

请看你离并发编程还有多远

阅读更多
前言:
代码简洁与性能高效无法两全其美,本系列文章专注于并发编程,提高性能,本文章是在读 Java Concurrency In Practice时自己总结的一些体会。有理解不正确的地方,还请指出。
 
 
请回答以下几个问题:
问题一、你的项目是否运行在多核CPU甚至多CPU的服务器上?
问题二、你的项目中,是否使用到了线程池?
问题三、你的项目是否使用到了集群或者用到了分布式框架?
问题一不用想,任何人都会回答是,那么恭喜你,你已经有必要看看并发编程了。如果你符合以上三个问题的所有条件,那么恭喜你,你应该好好学习并发编程了,并发已经深深渗人你的项目中,甚至已经开始出现一些莫名其妙的问题,或者你已经在为这些并发引起的性能问题着急了。
 
或许你不信,你可能会说,我并不了解并发编程,但代码仍然稳定的跑了好几年啊!是的,有时候,并不需要深入研究一门技术,才会使用他。就像一个Java程序员,花上半天时间就能写出一个php程序一样,但为什么那样写,你却不一定了解。
并发编程也一样,虽然你觉得自己写的代码不存在并发问题,但实际上,你可能已经跨越了并发编程的白线,只是自己还没有察觉到而已。
我在读并发编程实战时,有这么一些体会,觉得所有的编程人员都有必要对并发编程精读。
1、Java语言出了一些规范(一直都有,只是在并发编程时发现里面对多线程的定义比较宽松),总体意思是说,在缺少同步的代码中,JVM不保证一个线程写入的一个变量值,对另外一个线程立即可见,这样,我们的代码中只要涉及到多线程共享数据,就要注意并发问题。
2、在硬件上,CPU的主频提高已经不太现实,CPU厂家也开始使用“多线程技术”或者多CPU技术,这些多线程会尝试将我们的代码并行化,以提高系统性能,并且这些技术在操作系统级别及JVM级别默认都是允许的,这样,就连硬件也不敢保证你多线程的代码按照你串行的模式运行。
3、编译器不可靠,我们写的Java语言是不能直接在cpu上面运行的,但经过编译器的编译,我们的代码被“优化”,如果我们不采取合适的同步,在运行时,可能会出现一些“惊喜”。
如果你也认同我的这些观点,那么,请好好读读 Java并发编程吧,非常不错的一本书。网上有很多可以下载的资源,有chm版的也有中文pdf版的。
 
 
 对性能感兴趣?请查看我的并发编程 系列文章,持续更新中
 对这类话题感兴趣?欢迎发送邮件至donlianli@126.com
关于我:邯郸人,擅长Java,Javascript,Extjs,oracle sql。
更多我之前的文章,可以访问 我的空间
 
0
3
分享到:
评论
1 楼 wxl24life 2013-08-08  
引用
1、Java语言出了一些规范(一直都有,只是在并发编程时发现里面对多线程的定义比较宽松),总体意思是说,在缺少同步的代码中,JVM不保证一个线程写入的一个变量值,对另外一个线程立即可见,这样,我们的代码中只要涉及到多线程共享数据,就要注意并发问题。


同步机制不只是为了保证共享数据的可见性,也在保证操作的原子性。这两方面都需要考虑到。

相关推荐

    java并发编程实战源码,java并发编程实战pdf,Java

    《Java并发编程实战》是Java并发编程领域的一本经典著作,它深入浅出地介绍了如何在Java平台上进行高效的多线程编程。这本书的源码提供了丰富的示例,可以帮助读者更好地理解书中的理论知识并将其应用到实际项目中。...

    java并发编程2

    Java并发编程是Java开发中的重要领域,特别是在多核处理器和分布式系统中,高效地利用并发可以极大地提升程序的性能和响应速度。以下是对标题和描述中所提及的几个知识点的详细解释: 1. **线程与并发** - **线程*...

    Java 并发编程实战.pdf

    综合来看,该书不仅适合于对Java并发编程感兴趣的初学者,同样也适合有经验的开发者,作为一本参考资料和实践指南,读者可以通过它来加深对Java并发特性的理解和应用。书中丰富的案例分析和代码示例将有助于读者更...

    java并发编程艺术

    《Java并发编程艺术》这本书深入探讨了Java平台上的并发编程技术。并发编程是现代多核处理器环境下提升软件性能的关键手段,而...无论你是初级开发者还是经验丰富的工程师,这本书都将是你探索并发编程世界的一把钥匙。

    汪文君高并发编程实战视频资源下载.txt

    │ 高并发编程第一阶段25讲、多Produce多Consume之间的通讯导致出现程序假死的原因分析.mp4 │ 高并发编程第一阶段26讲、多线程下的生产者消费者模型,以及详细介绍notifyAll方法.mp4 │ 高并发编程第一阶段27讲...

    Java高并发编程,构建并发编程知识体系,提升面试成功率

    本课程将结合大量图示及代码演示,带你掌握多线程并发编程(线程安全,线程调度,线程封闭,同步容器等)与高并发处理思路与手段(扩容,缓存,队列,拆分等),构建完整的并发与高并发知识体系,胜任实际开发中并发...

    深入理解并发编程

    并发编程是计算机科学中的一个复杂领域,它涉及到同时运行多个任务,以提高程序的性能和效率。它在现代多核处理器和多处理器计算环境中尤其重要,因为这些环境允许并行执行多个计算。并发编程可以用于操作系统、...

    《java 并发编程实战高清PDF版》

    《Java并发编程实战》是一本深入探讨Java平台并发编程的权威指南。这本书旨在帮助开发者理解和掌握在Java环境中创建高效、可扩展且可靠的多线程应用程序的关键技术和实践。它涵盖了从基本概念到高级主题的广泛内容,...

    java并发编程书籍

    Java并发编程是软件开发中的一个关键领域,尤其是在大型企业级应用和分布式系统中。通过学习相关的书籍,开发者可以深入...购买并阅读相关的专业书籍,如《Java并发编程实战》等,将有助于你系统地掌握这一领域的知识。

    JAVA并发编程艺术pdf版

    《JAVA并发编程艺术》是Java开发者深入理解和掌握并发编程的一本重要著作,它涵盖了Java并发领域的核心概念和技术。这本书详细阐述了如何在多线程环境下有效地编写高效、可靠的代码,对于提升Java程序员的技能水平...

    java 并发编程的艺术pdf清晰完整版 源码

    《Java并发编程的艺术》这本书是Java开发者深入理解并发编程的重要参考书籍。这本书全面地介绍了Java平台上的并发和多线程编程技术,旨在帮助开发者解决在实际工作中遇到的并发问题,提高程序的性能和可伸缩性。 ...

    java并发编程实战中文加英文版加源码

    直接就放在书上,你丫有没有良知,书籍是什么,是希望,是神圣的,你们这些译者简直就是在犯罪 ,不过要是英文功底不好,还是建议买本看吧,谁让你英文水平不如他们呢 《JAVA并发编程实践》随着多核处理器的普及,...

    Java并发编程实践高清pdf及源码

    《Java并发编程实践》是一本深入探讨Java多线程编程的经典著作,由Brian Goetz、Tim Peierls、Joshua Bloch、Joseph Bowles和David Holmes等专家共同编写。这本书全面介绍了Java平台上的并发编程技术,是Java开发...

    C++并发编程实践 C++ Concurrency in Action

    《C++并发编程实践》这本书由Anthony Williams编写,是一本深入讲解C++多线程编程技术的专业书籍。本书旨在帮助读者掌握C++中的并发编程技巧,并通过大量的示例代码来加深理解。 **并发编程**是指在计算机程序中...

    C++ 并发编程中文版

    C++ 并发编程是现代计算机程序设计中的一个重要领域,随着多核处理器的普及,开发者需要掌握多线程编程技术,...通过阅读本书,你将能够掌握 C++11 中的并发编程原则和技巧,并能够编写出健壮和高效的多线程应用程序。

    Python高级编程和异步IO并发编程

    在"AdvancePython-master"这个资源中,你可能找到这些主题的源码示例,通过实践学习,加深对Python高级特性和并发编程的理解。通过深入研究和实践这些内容,你将能够编写出更高效、更健壮的Python应用程序。

    JAVA并发编程实践.pdf+高清版+目录 书籍源码

    《JAVA并发编程实践》这本书是Java开发者深入理解并发编程的重要参考资料。它涵盖了Java并发的核心概念、工具和最佳实践,旨在帮助...通过学习这本书,你将能够有效地应对并发编程中的挑战,提升你的多线程编程能力。

    java并发编程内部分享PPT

    总的来说,这份“java并发编程内部分享PPT”涵盖了Java并发编程的多个重要方面,包括线程创建与管理、同步机制、并发容器、线程池、并发问题以及异步计算。通过深入学习和实践这些知识点,开发者可以更好地应对多...

Global site tag (gtag.js) - Google Analytics