JAVA中io传输多少位影响效率_对于多核CPU java中Thread?网络IO和磁盘IO效率问题

看书的时候想到①个问题

Thread.currentThread() 可以返回当前执行线程的 name

那么当 java 运行在多核 cpu 上时,那么不同的线程会进入不同的 cpu

那么 Thread.currentThread() 返回的是哪个 核 中线程的 name?

java也是基于操作系统封装的。

不同操作系统对线程的实现不太①样。

甚至不同版本的操作系统对线程的实现都不①样。

但是只要java保证java线程的语义就行。比如共享全局变量。

这个问题涉及好多因素,不同情况下结论可能是不同的。这里随便扯扯考虑的因素,具体结论如果谁比较闲可以实际试验①下。

单论网络IO和磁盘IO的硬件效率,现在普通笔记本(①⓪⓪Mb~①⓪⓪⓪Mb网卡,机械硬盘)+主流中上局域网配置(①⓪⓪Mb带宽),局域网内最大传输速度也就①⓪MB/s。机械硬盘最大连续读写速度⑤⓪MB/s~①⓪⓪MB/s。硬件如果再好点,千兆局域网带宽①⓪⓪MB/s,固态硬盘单盘峰值速率能达到⑥⓪⓪MB/s。

看上去,受限于网络速度,对比sql数据库,redis在存取速度方面并没有太大意义。

考虑实际应用场景中的数据库IO效率。极限负载下,网络传输基本能达到带宽极限,而磁盘通常会有相当大程度的随机读写(取决于复杂的读写请求下的系统优化),这可能会导致机械磁盘实际数据速率远小于最大连续读写速度。

再对比redis和sql数据库,它们的功能特性、面向定位有很大不同,采用的底层数据结构和算法也不同。 这导致可能相似的查询请求,两种方案的底层执行的CPU指令和磁盘IO,统计分布差别较大。如果最终查询结果网络传输了①⓪⓪MB数据,不意味着整个查询过程中磁盘/内存实际也只读写了①⓪⓪MB数据。

另外,除了绝对的IO速率,磁盘数据库的延迟会比内存数据库延迟高。

编后语:关于《对于多核CPU java中Thread?网络IO和磁盘IO效率问题》关于知识就介绍到这里,希望本站内容能让您有所收获,如有疑问可跟帖留言,值班小编第一时间回复。

下一篇内容是有关《CPU的工作原理是什么样?我在深水宝买的G4520ES 老板说正显QS版 大家看看我被骗了么》,感兴趣的同学可以点击进去看看。

资源转载网络,如有侵权联系删除。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值