Renaming the main thread (e.g., the one the program spawns with) causes the name of the daemon in utilities such as "top" to show as "b-init" instead of bitcoind. This is surprising, as it doesn't show the other thread names (by default), you'd expect it to show program names.

This doesn't only affect top: killall does no longer recognize the program name
```
$ killall bitcoind
bitcoind: no process found
$ killall b-init
(no output, succesful)
```

~~In contrast to `bitcoin-qt`, which doesn't suffer from this problem because it has a separate init thread~~, initialization happens in the main thread in `bitcoind`, and it's renamed due to `util::ThreadRename("init");` in `AppInit`. If we want to name the init thread, this should only be done in `bitcoin-qt`.

(not sure when this was introduced, but #16984 made the issue more visible because ther's no bitcoin in the name anymore)
{
    if(coreThread)
        return;
    coreThread = new QThread(this);
    BitcoinCore *executor = new BitcoinCore(m_node);
    executor->moveToThread(coreThread);
    
    connect(executor, &BitcoinCore::initializeResult, this, &BitcoinApplication::initializeResult);
    connect(executor, &BitcoinCore::shutdownResult, this, &BitcoinApplication::shutdownResult);
    connect(executor, &BitcoinCore::runawayException, this, &BitcoinApplication::handleRunawayException);
    connect(this, &BitcoinApplication::requestedInitialize, executor, &BitcoinCore::initialize);
    connect(this, &BitcoinApplication::requestedShutdown, executor, &BitcoinCore::shutdown);
    
    connect(coreThread, &QThread::finished, executor, &QObject::deleteLater);
    coreThread->start();
}
void BitcoinApplication::parameterSetup()
{
    
    
    gArgs.SoftSetBoolArg("-printtoconsole", false);
    m_node.initLogging();
    m_node.initParameterInteraction();
}
void BitcoinApplication::SetPrune(bool prune, bool force) {
     optionsModel->SetPrune(prune, force);
}
void BitcoinApplication::requestInitialize()