Transport: Raise bandwidth refiller thread priority

so I/O doesn't stall under high CPU load
- Raise DH generator thread priority to keep
  DH building out of event pumper thread
- Raise PRNG and YK generator thread priorites one notch
- Set I2PThread priority in constructor
Fixes problems mainly seen on Windows, which seems
to be much more sensitive to priority settings
This commit is contained in:
zzz
2015-07-05 12:08:33 +00:00
parent 98a4460bde
commit 113a8a52f3
5 changed files with 13 additions and 4 deletions

View File

@@ -98,7 +98,7 @@ public class FIFOBandwidthLimiter {
_lastStatsUpdated = now();
_refiller = new FIFOBandwidthRefiller(_context, this);
_refillerThread = new I2PThread(_refiller, "BWRefiller", true);
_refillerThread.setPriority(I2PThread.NORM_PRIORITY-1);
_refillerThread.setPriority(I2PThread.NORM_PRIORITY + 1);
_refillerThread.start();
}

View File

@@ -470,7 +470,8 @@ public class DHSessionKeyBuilder {
_log.debug("DH Precalc (minimum: " + _minSize + " max: " + _maxSize + ", delay: "
+ _calcDelay + ")");
_builders = new LinkedBlockingQueue<DHSessionKeyBuilder>(_maxSize);
setPriority(Thread.MIN_PRIORITY);
if (!SystemVersion.isWindows())
setPriority(Thread.NORM_PRIORITY - 1);
}
/**