On dit souvent que les classes sont sans fil,La classe n'est pas Thread - Safe.Quel genre de classe est thread Safe?
Dans un environnement multithreadé,Peu importe comment différents Threads utilisent et programment cette classe,Cette classe se comporte toujours correctement.Donc cette classe est Thread - Safe.
Il y a deux clés pour la sécurité du fil de la classe:
1.Atomicité de l'opération
2.Visibilité de la mémoire.
Si vous partagez l'état dans plus d'un thread,Lorsque le mécanisme de synchronisation est incorrect,Le thread est dangereux.
Q:Quelles sont les circonstances dans lesquelles il y a un problème de sécurité du fil
A:Lorsqu'il y a une variable d'instance dans une classe de thread qui implémente le Multithreading
ps:Oui.,Quel est le concept d'objet apatride
Stateful est une fonction de stockage de données.Objet stateful(Stateful Bean),Est l'objet avec la variable instance?,Les données peuvent être sauvegardées,N'est pas Thread - SAFE.Ne laissez aucun état entre les différents appels de méthode.
L'apatridie est une opération,Impossible d'enregistrer les données.Objet apatride(Stateless Bean),Est un objet sans variable d'instance?.Impossible d'enregistrer les données,Est une classe invariante,Est sans fil.
Lorsque plusieurs fils sont partagés en même temps,La même variable globale ou statique,En écrivant,Des problèmes de conflit de données peuvent survenir,C'est - à - dire le problème de sécurité du fil.Mais la lecture n'est pas un problème de conflit de données.
Lire à partir de la mémoire1MDonnées 250Subtil. = 250000Nanoseconde
CPULire la mémoire une fois 100Nanoseconde
Demande.:Lire à partir de la mémoire1MDeintDonnées de type parCPUCumul,Combien de temps ça va prendre?
Réponse:
1MDonnées,Java- Oui.intType32Bits,4Octets
Total1024*1024/4 = 262144Nombre entier
CPU Le calcul prend du temps:262144 *0.6 = 157 286 Nanoseconde
262144Les entiers sont lus de la mémoire àCPU,Ça prend du temps
La lecture de la mémoire prend du temps:262144*100+250000 = 26 464 400 Nanoseconde
Problèmes de sécurité des fils,En fin de compte, un mot:Causé par la modification de données partagées entre plusieurs Threads
Pour que tout le monde comprenne mieux la concurrence des fils d'apprentissage,Voici une recommandation d'un architecte principal de HuaweiMarkLe professeur a enseigné《Programmation simultanée——De l'entrée à l'immortel》Cours spéciaux!DeJavaDémarrer avec le thread,Aux opérations atomiquesCASAvec verrouillage explicite,Jusqu'à la sécurité simultanée,Trois jours de maîtrise rapide des connaissances de base en programmation simultanée,Devenir un grand Dieu de la concurrence!
Tu crois que c'est fini??Plus d'informations sur la concurrence,Et vous l'offrez!
Après l'école,Quel est l'effet de l'acceptation?,En fait, la meilleure façon de le faire est de le résumer vous - même..Par exemple, quand j'aurai fini d'apprendre quelque chose, je le peindrai moi - même.xmindSchéma du document,Cela facilite également les examens ultérieurs.,Et c'est ce que je comprends.,Je crois qu'un simple coup d'oeil peut rapidement passer à travers toute la connaissance,Remue - toi le cerveau..Je l'ai peint à la main.MyBtisCarte cérébrale de la connaissance,Parce que ouixmindDocumentation,Mauvais téléchargement,Donc le petit rédacteur en chef l'a montré sous forme d'image et l'a posté ici.,Les détails ne sont pas très clairs.Mais vous pouvez fournir à vos amis intéressésMyBtisOriginal Knowledge Brain Map(Inclure l'analyse de l'entrevue ci - dessusxmindDocumentation)
En plus de ça,,Comme indiqué précédemmentAlibabaÉdition CollectionmybatisDes documents manuscrits et un petit livreMyBatisDocument d'analyse des sources——《MyBatisAnalyse des sources》Et ainsi de suite,Peut également être partagé avec des amis reconnus!