• 技术文章 >Java >java教程

    java中什么是并发?

    青灯夜游青灯夜游2019-11-18 17:27:03原创1750

    java中什么是并发?

    并发:是指在某个时间段内,多任务交替的执行任务。当有多个线程在操作时,把CPU运行时间划分成若干个时间段,再将时间段分配给各个线程执行。 在一个时间段的线程代码运行时,其它线程处于挂起状。

    简单来说,就是cpu在同一时刻执行多个任务。

    Java并发则由多线程实现的。【推荐学习:java课程

    在jvm的世界里,线程就像不相干的平行空间,串行在虚拟机中。(当然这是比较笼统的说法,线程之间是可以交互的,他们也不一定是串行。)

    多线程的存在就是压榨cpu,提高程序性能,还能减少一定的设计复杂度(用现实的时间思维设计程序)。

    为什么要使用多线程?

    先总体上:

    从计算机底层来说:线程可以比作是轻量级的进程,是程序执行的最小单元,线程间的切换和调度的成本远远小于进程。另外,多核 CPU 时代意味着多个线程可以同时运行,这减少了线程上下文切换的开销。

    从当代互联网发展趋势来说:现在的系统动不动就要求百万级甚至千万级的并发量,而多线程并发编程正式开发高并发系统的基础,利用好多线程机制可以大大提高系统的并发能力以及性能。

    再深入到计算机底层:

    单核时代:在单核时代多线程主要是为了提高 CPU 和 IO 设备的综合利用率。

    多核时代:多核时代主要是为了提高 CPU 的利用率。

    使用多线程可能会带来什么问题?

    并发编程的目的就是为了能提高程序的执行效率提高程序运行速度,但是并发编程并不总是能提高程序运行速度的,而并发编程可能会遇到很多问题,比如:内存泄漏、上下文切换、死锁等,还有受限于硬件和软件和资源闲置问题。

    以上就是java中什么是并发?的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:java 并发
    上一篇:java什么是代理? 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • java中如何去测试指定方法• java判断是否json格式• 如何在linux下更新java版本• java中怎么创建数组
    1/1

    PHP中文网