code: public void setThreadMax(int max)
    {
      if (max == _threadMax) {
        // avoid update() overhead if unchanged
        return;
      }
      
      if (max <= 0) {
        max = DEFAULT_THREAD_MAX;
      }
      
      if (max < _idleMin)
        throw new ConfigException(L.l("IdleMin ({0}) must be less than ThreadMax ({1})", _idleMin, max));
      
      if (max < 1)
        throw new ConfigException(L.l("ThreadMax ({0}) must be greater than zero", 
                                      max));
  
      _threadMax = max;
  
      update();
    }
docs: Sets the maximum number of threads.