- 1、本文档共54页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
NIO与Netty编程
客
播
传智播客-研究院
智
传
北京市昌平区建材城西路金燕龙办公楼一层 电话:400-618-9090
课程大纲
多线程编程
基本知识回顾
线程安全
线程间通信
BIO 编程
NIO 编程
概述 客
文件IO
网络IO
AIO 和IO 总结 播
Netty 框架
概述 智
核心API
入门案例
网络聊天案例
传
编码和解码
自定义RPC
整体分析
设计和实现
北京市昌平区建材城西路金燕龙办公楼一层 电话:400-618-9090
一.多线程编程
1.1 基本知识回顾
线程是比进程更小的能独立运行的基本单位,它是进程的一部分,一个进程可以拥有多
个线程,但至少要有一个线程,即主执行线程 的 方法 。我们既可以编写单线程
(Java main )
应用,也可以编写多线程应用。
一个进程中的多个线程可以并发 同时执行,在一些执行时间长、需要等待的任务上(例
( )
如:文件读写和网络传输等),多线程就比较有用了。
怎么理解多线程呢?来两个例子:
1. 进程就是一个工厂,一个线程就是工厂中的一条生产线,一个工厂至少有一条生产
线,只有一条生产线就是单线程应用,拥有多条生产线就是多线程应用。多条生产线可
以同时运行。
2. 我们使用迅雷可以同时下载多个视频,迅雷就是进程,多个下载任务就是线程,这
几个线程可以同时运行去下载视频。 客
多线程可以共享内存、充分利用 ,通过提高资源 内存和 使用率从而提高程序
CPU ( CPU)
的执行效率。 使用抢占式调度模式在多个线程间进行着随机的高速的切换。对于
CPU CPU
的一个核而言,某个时刻,只能执行一个线程,而CPU 在多个线程间的切换速度相对我们
的感觉要快很多,看上去就像是多个线程或任务在同时运行。
播
Java 天生就支持多线程并提供了两种编程方式,一个是继承Thread 类,一个是实现
Runnable 接口,接下来咱们通过两个案例快速复习回顾一下。
方式一:继承Thread 类
智
public class ThreadFor1 extends Thread{
public void run() {
for (int i = 0; i < 50; i++) {
System.out.println(this.getName()+":"+i);
}
}传
}
上述代码自定义了一个类去继承 类,并重写了 方法,在该方法内实现具体业务
Thread run
功能,这里用一个 循环模拟一下。
您可能关注的文档
- SaaS-IHRM项目-Activiti7讲义(基础部分).pdf
- SaaS-IHRM项目-Activiti7讲义(进阶部分).pdf
- 阿里官方Java开发代码规范标准手册v1.3 - 副本.pdf
- 分布式存储 CentOS6.5虚拟机环境搭建FastDFS-5.0.5集群 - 副本.pdf
- 基于Netty网络编程项目实战笔记 - 副本.pdf
- 容器化进阶Kubernetes核心技术.pdf
- 容器化进阶Kubernetes课程讲义.pdf
- VMware Workstation 中安装 Ubuntu16.04 虚拟机.docx
- 好客租房 PRD 文档 V1.0.0beat.docx
- 数据库_性能优化篇-2.docx
文档评论(0)