文件名称:百度地图毕业设计源码-ymdx-concurrency:义码当仙之并发编程
文件大小:1012KB
文件格式:ZIP
更新时间:2024-06-26 00:51:09
系统开源
百度地图毕业设计源码 义码当仙之并发编程 一、多线程基础 示例项目:concurrency01-thread-basis 进程与线程 每个正在系统上运行的程序都是一个进程。每个进程包含一到多个线程。线程是一组指令的集合,或者是程序的特殊段,它可以在程序里独立执行。也可以把它理解为代码运行的上下文。所以线程基本上是轻量级的进程,它负责在单个程序里执行多任务。通常由操作系统负责多个线程的调度和执行。 使用线程可以把占据时间长的程序中的任务放到后台去处理,程序的运行速度可能加快,在一些等待的任务实现上如用户输入、文件读写和网络收发数据等,线程就比较有用了。在这种情况下可以释放一些珍贵的资源如内存占用等等。 如果有大量的线程会影响性能,因为操作系统需要在它们之间切换,更多的线程需要更多的内存空间,线程的中止需要考虑其对程序运行的影响。通常块模型数据是在多个线程间共享的,需要防止线程死锁情况的发生。 总结:进程是所有线程的集合,每一个线程是进程中的一条执行路径。 为什么要使用多线程? 提高程序的效率。 多线程的使用场景 数据库连接池 迅雷下载 此时采用多线程,只能提高下载效率,并不能提高下载速度
【文件预览】:
ymdx-concurrency-master
----.gitignore(672B)
----concurrency03-thread-communication()
--------src()
--------pom.xml(531B)
----concurrency01-thread-basis()
--------src()
--------pom.xml(523B)
----images()
--------线程的7种状态.png(16KB)
--------线程池原理图.png(161KB)
--------死锁示例图.png(104KB)
--------线程的状态图.jpeg(87KB)
--------CAS.png(10KB)
--------Disruptor核心概念图.png(97KB)
--------Future模式时序图.png(61KB)
--------JMM-线程间通信示意图.png(95KB)
--------JMM-重排序对程序影响-示例图2.png(57KB)
--------JMM-计算圆面积-示例图2.png(47KB)
--------Disruptor-RingBuffer-2.png(17KB)
--------同步与异步.png(29KB)
--------JMM-重排序对程序影响-示例图1.png(30KB)
--------Disruptor-RingBuffer-3.png(17KB)
--------Java内存模型图.png(118KB)
--------Disruptor-RingBuffer-1.png(13KB)
--------JMM-计算圆面积-示例图1.png(21KB)
----concurrency02-jmm()
--------src()
--------pom.xml(514B)
----concurrency06-disruptor()
--------src()
--------pom.xml(870B)
----pom.xml(3KB)
----README.md(79KB)
----concurrency04-thread-pool()
--------src()
--------pom.xml(705B)
----concurrency05-lock()
--------src()
--------pom.xml(515B)