


Je ne configure pas la méthode Initialize () Lors de la configuration d'un pool de thread personnalisé, pourquoi le programme s'exécute-t-il normalement?
Comprendre profondément initialize()
des pools de threads personnalisés
Lors de la construction d'un pool de fils personnalisé, vous pouvez remarquer initialize()
. De nombreux développeurs peuvent également s'exécuter normalement sans appeler explicitement cette méthode, ce qui soulève des questions: quelle est la fonction de initialize()
?
Question: J'ai omis initialize()
lors de la configuration d'un pool de threads personnalisé, et le programme s'exécute toujours normalement. Pourquoi est-ce?
Réponse: La clé réside dans l'appel automatique du cadre du ressort.
Regardons d'abord un exemple qui n'utilise pas le ressort:
classe publique quelque part quelque chose { public static void main (String [] args) { ThreadPoolTasKExECUTOR EMEMPOROR = new ThreadPoolTasKexECUTOR (); Executor.Submit (() -> System.out.println ("!")); } }
L'exécution de ce code lancera une exception: "ThreadpoolTasKexecutor non initialisé". En effet, ThreadPoolTaskExecutor
n'est pas initialisé correctement.
Maintenant, utilisons Spring Boot pour gérer les pools de threads:
@Springbootapplication classe publique DemoApplication { public static void main (String [] args) { ConfigurableApplicationContext context = SpringApplication.Run (DemoApplication.Class, Args); ThreadPoolTaskExEcutor myExecUtor = context.getBean ("myExecUtor", ThreadPoolTaskExEcutor.class); myExecUtor.Submit (() -> System.out.println ("Hello!")); } @Haricot Public ThreadpoolTasKexecutor myExecUtor () { Renvoie un nouveau threadpooltaskexecutor (); } }
Ce code fonctionne normalement. En effet, le framework Spring appelle automatiquement initialize()
.
Comment le printemps fait-il cela? La réponse réside dans la classe ExecutorConfigurationSupport
:
@Outrepasser public void afterpropertiesset () { initialiser(); }
La méthode afterPropertiesSet()
fait partie de l'interface InitializingBean
. Pendant le cycle de vie de Spring Bean, une fois le haricot initialisé, Spring appellera automatiquement afterPropertiesSet()
, et cette méthode appelle en interne initialize()
pour terminer l'initialisation du pool de threads.
Par conséquent, lorsque vous utilisez des pools de threads dans des conteneurs Spring, Spring terminera automatiquement le processus d'initialisation même si vous n'appelez pas explicitement initialize()
, afin que le programme puisse s'exécuter normalement. Cela ne signifie pas que initialize()
est facultative. Il est toujours responsable des étapes d'initialisation des clés du pool de threads. C'est juste que le printemps vous aide à terminer cet appel.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Les étapes pour dessiner un tableau d'analyse de structure Bitcoin comprennent: 1. Déterminez l'objectif et le public du dessin, 2. Sélectionnez le bon outil, 3. Concevez le cadre et remplissez les composants principaux, 4. Reportez-vous au modèle existant. Les étapes complètes garantissent que le graphique est exact et facile à comprendre.

Échanges qui prennent en charge les transactions transversales: 1. Binance, 2. UniSwap, 3. Sushiswap, 4. Curve Finance, 5. Thorchain, 6. 1inch Exchange, 7. DLN Trade, ces plateformes prennent en charge les transactions d'actifs multi-chaînes via diverses technologies.

Aavenomics est une proposition de modification du jeton de protocole Aave et d'introduire des dépens de jetons, qui a mis en œuvre un quorum pour Aavedao. Marc Zeller, fondateur de l'Aave Project Chain (ACI), l'a annoncé sur X, notant qu'il marque une nouvelle ère pour l'accord. Marc Zeller, fondateur de l'Aave Chain Initiative (ACI), a annoncé sur X que la proposition d'Aavenomics comprend la modification du jeton Aave Protocol et l'introduction de dépens de jetons, a obtenu un quorum pour Aavedao. Selon Zeller, cela marque une nouvelle ère pour l'accord. Les membres d'Aavedao ont voté massivement pour soutenir la proposition, qui était de 100 par semaine mercredi

Les plateformes de données de crypto-monnaie adaptées aux débutants incluent CoinmarketCap et la trompette non à petites choses. 1. CoinmarketCap fournit des classements mondiaux de prix, de valeur marchande et de volume de trading pour les besoins novices et d'analyse de base. 2. La citation non à petites choses fournit une interface adaptée aux Chinois, adaptée aux utilisateurs chinois afin de projeter rapidement des projets potentiels à faible risque.

Les plates-formes qui ont des performances exceptionnelles dans le commerce, la sécurité et l'expérience utilisateur en effet de levier en 2025 sont: 1. OKX, adaptés aux traders à haute fréquence, fournissant jusqu'à 100 fois l'effet de levier; 2. Binance, adaptée aux commerçants multi-monnaies du monde entier, offrant un effet de levier 125 fois élevé; 3. Gate.io, adapté aux joueurs de dérivés professionnels, fournissant 100 fois l'effet de levier; 4. Bitget, adapté aux novices et aux commerçants sociaux, fournissant jusqu'à 100 fois l'effet de levier; 5. Kraken, adapté aux investisseurs stables, fournissant 5 fois l'effet de levier; 6. BUTBIT, adapté aux explorateurs Altcoin, fournissant 20 fois l'effet de levier; 7. Kucoin, adapté aux commerçants à faible coût, fournissant 10 fois l'effet de levier; 8. Bitfinex, adapté au jeu senior

Suggestions de choix d'un échange de crypto-monnaie: 1. Pour les exigences de liquidité, la priorité est Binance, Gate.io ou Okx, en raison de sa profondeur de commande et de sa forte résistance à la volatilité. 2. Conformité et sécurité, Coinbase, Kraken et Gemini ont une approbation réglementaire stricte. 3.

L'introduction détaillée de l'OKX Exchange est la suivante: 1) Historique de développement: Fondée en 2017 et renommée OKX en 2022; 2) dont le siège est à Seychelles; 3) La portée d'entreprise couvre une variété de produits commerciaux et prend en charge plus de 350 crypto-monnaies; 4) Les utilisateurs sont répartis dans plus de 200 pays, avec des dizaines de millions d'utilisateurs; 5) Plusieurs mesures de sécurité sont adoptées pour protéger les actifs des utilisateurs; 6) Les frais de transaction sont basés sur le modèle de fabricant de marché et le taux de frais diminue avec l'augmentation du volume des trading; 7) Il a remporté de nombreux honneurs, tels que "l'échange de crypto-monnaie de l'année".

Les échanges jouent un rôle essentiel sur le marché des crypto-monnaies d'aujourd'hui. Ce ne sont pas seulement des plateformes pour les investisseurs pour négocier, mais aussi des sources importantes de liquidité du marché et la découverte des prix. Les plus grands échanges de devises virtuels au monde se classent parmi les dix premiers, et ces échanges sont non seulement bien en avance dans le volume des échanges, mais présentent également leurs propres avantages dans l'expérience utilisateur, la sécurité et les services innovants. Les échanges qui dépassent la liste ont généralement une grande base d'utilisateurs et une influence approfondie du marché, et leur volume de trading et leurs types d'actifs sont souvent difficiles à atteindre par d'autres échanges.
