@Override public ThreadFactory newThreadFactory(String _namePrefix) { return new GlobalThreadFactory(_namePrefix); }
@Override public Thread newThread(final Runnable r) { String _name; int id = 1; for (;;) { _name = generateName(id); if (NAMES_RUNNING.putIfAbsent(_name, _name) == null) { break; } id++; } final String _finalName = _name; final Runnable _myRunnable = new Runnable() { @Override public void run() { try { r.run(); } finally { NAMES_RUNNING.remove(_finalName); } } }; Thread thr = new Thread(_myRunnable); thr.setName(_name); thr.setDaemon(true); return thr; }
@Override public Thread newThread(final Runnable r) { String _name; int id = 1; for (;;) { _name = generateName(id); if (NAMES_RUNNING.putIfAbsent(_name, _name) == null) { break; } id++; } final String _finalName = _name; final Runnable _myRunnable = new Runnable() { @Override public void run() { try { r.run(); } finally { NAMES_RUNNING.remove(_finalName); } } }; Thread thr = new Thread(_myRunnable); thr.setName(_name); thr.setDaemon(true); return thr; }
@Override public ThreadFactory newThreadFactory(String _namePrefix) { return new GlobalThreadFactory(_namePrefix); }