IT评测·应用市场-qidao123.com
标题:
Java并发教程_编程入门自学教程_菜鸟教程-免费教程分享
[打印本页]
作者:
风雨同行
时间:
2023-5-15 22:50
标题:
Java并发教程_编程入门自学教程_菜鸟教程-免费教程分享
教程简介
Java并发入门教程
- 从简单的步骤了解Java并发,从基本到高级概念,包括概述,环境设置,主要操作,线程通信,同步,死锁,ThreadLocal,ThreadLocalRandom,Lock,ReadWriteLock,Condition,AtomicInteger, AtomicLong,AtomicBoolean,AtomicReference,AtomicIntegerArray,AtomicLongArray,AtomicReferenceArray,Executor,ExecutorService,ScheduledExecutorService,newFixedThreadPool,newCachedThreadPool,newScheduledThreadPool,newSingleThreadExecutor,ThreadPoolExecutor,ScheduledThreadPoolExecutor,Futures and Callables,Fork-Join框架,BlockingQueue,ConcurrentMap,ConcurrentNavigableMap。
线程的优势
1.充分利用多CPU的能力,提高系统吞吐量:在蒸煮(任务1)的过程中,同时可以炒菜(任务2)。当然你的煤气灶是单灶就没法了。。。即使在单CPU的机器上,多线程也可能提高程序的吞吐量,假如某个操作被阻塞(同步I/O操作),后续的逻辑不得不等待其完成。如果将其分开,放入不同的线程中,则在I/O上被阻塞的线程不会影响另一个线程被调度执行。比如你等烧水的时间可以刷朋友圈。 这样做的前提是,程序首先是可以被分开,另一个线程的执行并不依赖I/O操作的结果。
2.简化建模:你有三个任务要处理,改BUG,给老板写报告,关注股市行情等。当你正在绞尽脑汁地改bug,老板忽然发消息让你尽快交报告,还同时高频观察股价以便出手解套。有时候你要兼顾几个任务,常常让人倍感疲惫。程序也一样,有很多task要处理,如何以优雅的方式进行是一个设计问题。JAVA允许将复杂应用分解为不同的任务,每个任务分配给独立的线程运行。从而使编程逻辑清晰。很多框架如Servlet,RMI都是利用此模型开发,框架来管理请求,创建线程,平衡负载,分发(dispatch)请求给相应的业务处理组件。屏蔽了底层的细节,开发人员只需要关注业务逻辑。
3.提高用户界面响应:用Eclipse IDE都知道,如果触发一个长时间的任务(编译工程,搜索文件,更新等),界面依然可以接受用户的其他操作。对于长时间的任务,会放入单独的线程里面完成,从而不影响Event Thread处理用户别的很快完成的请求。
4.异步事件处理的简单化: Java NIO提供了一种非阻塞IO机制,在超大量请求来时,可能会触到多线程的性能瓶颈,通过NIO实现单线程内的异步IO,从而减少线程的创建数量,并且不阻塞其他逻辑。但是NIO相对比较复杂也容易出错。而通过简单的多线程,同步IO已经可以满足大部分需求。
教程目录
Java并发教程
Java并发 - 概述
Java并发 - 环境设置
Java并发 - 主要操作
深入沟通
Java并发 - 同步
Java并发 - 死锁
Java并发 - ThreadLocal类
ThreadLocalRandom类
Java并发 - 锁接口
Java并发 - ReadWriteLock接口
Java并发 - 条件接口
Java并发 - AtomicInteger类
Java并发 - AtomicLong类
Java Concurrency - AtomicBoolean类
Java并发 - AtomicReference类
Java并发 - AtomicIntegerArray类
Java Concurrency - AtomicLongArray类
AtomicReferenceArray类
Java并发 - Executor Interface
ExecutorService接口
ScheduledExecutorService接口
newFixedThreadPool方法
newCachedThreadPool方法
newScheduledThreadPool方法
newSingleThreadExecutor方法
ThreadPoolExecutor类
ScheduledThreadPoolExecutor类
Java并发 - Futures和Callables
Java Concurrency - Fork-Join框架
Java并发 - BlockingQueue接口
Java并发 - ConcurrentMap接口
ConcurrentNavigableMap接口
Java并发 - 有用的资源
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
欢迎光临 IT评测·应用市场-qidao123.com (https://dis.qidao123.com/)
Powered by Discuz! X3.4