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)
#endif 
        
        if (!gArgs.GetBoolArg("-min", false)) {
            window->show();
        } else if (clientModel->getOptionsModel()->getMinimizeToTray() && window->hasTrayIcon()) {
            
        } else {
            window->showMinimized();
        }
        Q_EMIT splashFinished();
        Q_EMIT windowShown(window);
#ifdef ENABLE_WALLET
        
        
        if (paymentServer) {
            connect(paymentServer, &PaymentServer::receivedPaymentRequest, window, &BitcoinGUI::handlePaymentRequest);
            connect(window, &BitcoinGUI::receivedURI, paymentServer, &PaymentServer::handleURIOrFile);
            connect(paymentServer, &PaymentServer::message, [this](const QString& title, const QString& message, unsigned int style) {
                window->message(title, message, style);
            });
            QTimer::singleShot(100, paymentServer, &PaymentServer::uiReady);
        }
#endif
        pollShutdownTimer->start(200);
    } else {
        Q_EMIT splashFinished(); 
        quit(); 
    }
}
void BitcoinApplication::shutdownResult()