2017-04-01 45 views
-1

我是新来的Java分析你能解释一下线程配置文件吗?

enter image description here

我有一个线程从文件中读取是做每一行正则表达式的一些操作。以上图片是我从JVisualVM探查器获得的图表。

  1. 绿色正在运行。
  2. 紫色正在睡觉。
  3. 橙停

看来线程睡眠比运行了。我知道由于文件读取这是有点可以接受的。但这似乎远不止于此。

你能解释一下,它有什么可做的正则表达式操作还是我需要寻找更多的优化?

+0

有很多因素从你的问题中遗漏,这将使得难以回答如下:该机器上还运行着什么?你的盒子上运行多少个核心?内存限制呢?你的盒子装得怎么样? – SMA

+0

线程由一个操作系统调度程序控制,使他们有时间工作,让其他线程工作等,并考虑到前面评论中提到的所有因素。 – efekctive

+1

硬盘比CPU慢得多。我在分析输出时看不到问题。 CPU完成处理并等待硬盘读取文件(与算术逻辑操作相比,这是一项非常耗时的操作)。 – ferit

回答

0

对于这类工作,性能分析结果并非意外。由于文件访问,线程大多数时间都在睡觉。为了大幅提高速度,您可能需要以某种方式解决文件访问问题。

相关问题