rag*_*jan 3 java io multithreading
我正在创建多个线程,并且所有线程都读取相同的属性文件(没有对属性文件执行写操作).这是否会导致性能开销,因为多个线程会多次读取同一属性文件?
我建议加载属性文件一次,并使用所有线程使用相同的Properties实例.
加载一次减少磁盘访问:
多次读取不是并发问题.
didierc的评论强调了一个可能的瓶颈:每次访问属性都是同步的,所以当线程读取一个值时,所有其他的可能都会等待.
为避免这种情况,您可能会限制Properties在构造函数中使用或初始化线程.不要p.getProperty( XXX )在Thread.run()方法内部使用循环.