DataFrameException when n is below 1. Values above the
core count clamp to the core count, mirroring the environment variable's semantics.
Example:
// An embedding server tunes the library at startup and on request:
ddn.df.setThreads(4);
// ... later, a control endpoint halves the pool:
ddn.df.setThreads(2);
// In-flight operations finish on the old generation, bit-identically;
// every subsequent dispatch uses two threads.
assert(ddn.df.threads() == 2);