没有合适的资源?快使用搜索试试~ 我知道了~
PipedWriter和PipedReader源码分析_动力节点Java学院整理
需积分: 9 2 下载量 161 浏览量
2017-11-03
15:56:40
上传
评论
收藏 270KB DOC 举报
温馨提示
试读
16页
PipedWriter和PipedReader源码分析_动力节点Java学院整理
资源推荐
资源详情
资源评论
和 源码分析
P i p e d W r i t e r 和 P i p e d R e a d e r 源 码 分 析
1. PipedWriter 源码(基于 jdk1.7.40)
与 通信的 对象
!
"
# 的关闭标记
$%&
'
构造函数,指定配对的
()*+,-.
()
/
! 构造函数
"()
#/
$
' 将“0和 “0连接。
1*2()*+,-.
&(%%)
*++3.()
/&(4%55)
*++,-.(6716)
!/&(8155)
"*++,-.(66)
#/
$
'%
%9
%'
设置“0和“0为已连接状态
1 / 16
是 中定义的,用于表示“ 和 0是否已经连接
%
!/
"
# 将一个字符 写入“0中。
$ 将 写入“0之后,它会将 传输给“0
'+()*+,-.
&(%%)
*++,-.(66)
/
()
/
!
" 将字符数组 写入“0中。
# 将数组 写入“0之后,它会将其传输给“0
$+(*&:;<=<)*+,-.
'&(%%)
*++,-.(66)
/&((=55(=>)5(&*9(=>)))?')
*++,--&8.()
/
(&<=<)
!/
"
# 清空“0。
$ 这里会调用“0的 &17();
!' 目的是让“0放弃对当前资源的占有,让其它的等待线程(等待读取 的线程)读取
“0的值。
!1*2@*()*+,-.
!&(4%)
!&(8155)
!*++,-.(66)
!/
!!1*2()
!"&17()
!#/
!$/
"'/
"
" 关闭“0。
" 关闭之后,会调用 A()通知“0它已经关闭。
2 / 16
"()*+,-.
"%
"!&(4%)
""A()
"#/
"$/
#'/
2. PipedReader 源码(基于 jdk1.7.40)
B0是否关闭的标记
81%&
! B0是否关闭的标记
"81%&
# B0与“0是否连接的标记
$ 它在 的 ()连接函数中被设置为
'%&
C*D 读取“管道”数据的线程
C*+D 向“管道”写入数据的线程
B管道”的默认大小
!EF.G7HACI,.ID,J.%'
"
# 缓冲区
$*=:;
'
下一个写入字符的位置。%% 代表满,说明“写入的数据”全部被读取了。
%9
下一个读取字符的位置。%% 代表满,说明“写入的数据”全部被读取了。
%'
! 构造函数:指定与“0关联的“0
"()*+,-.
#*(<F.G7HACI,.ID,J.)
3 / 16
$/
'
构造函数:指定与“0关联的“0,以及“缓冲区大小”
(<D2)*+,-.
(D2)
()
/
!
" 构造函数:默认缓冲区大小是 ' 字符
#()
$(F.G7HACI,.ID,J.)
'/
构造函数:指定缓冲区大小是 D2
(D2)
(D2)
/
!
" 初始化“管道”:新建缓冲区大小
#(D2)
$&(D2?%')
'*++,7K.(62?%'6)
/
=%+*:D2;
/
将“0和“0绑定。
! 实际上,这里调用的是 的 ()函数
"()*+,-.
#(*)
$/
!'
! 接收 类型的数据 。
! 它只会在 的 +()中会被调用
!1*2()*+,-.
! 检查管道状态
!&(4)
!!*++,-.(66)
!"/&(815581)
!#*++,-.(66)
!$/&(D4%LL4D7())
4 / 16
剩余15页未读,继续阅读
资源评论
牛仔码农@
- 粉丝: 205
- 资源: 122
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 最通俗易懂的 MongoDB 非结构化文档存储数据库教程.zip
- 以mongodb为数据库的订单物流小项目.zip
- 腾讯云-mongodb数据库, 项目部署.zip
- 腾讯 APIJSON 的 MongoDB 数据库插件.zip
- 理解非关系型数据库和关系型数据库的区别.zip
- 操作简单的Mongodb网页web管理工具,基于Spring Boot2.0支持mongodb集群.zip
- tms-mongodb-web,提供访问mongodb数据的REST API和可灵活扩展的mongodb web 客户端.zip
- SpringBoot整合mongodb学习MongoTemplate和MongoRepository两种方式CRUD使用.zip
- SpringBoot整合MongoDB实现对数据库的CRUD小demo.zip
- Python操作MongoDB数据库的基本一些操作 .zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功