当前位置:网站首页>Problèmes de concurrence dans l'allocation de mémoire en tas
Problèmes de concurrence dans l'allocation de mémoire en tas
2022-06-24 22:27:00 【Nice2cu Code】
Dans le processus de développement réel,Crée souvent des objets,En tant que machine virtuelle,La sécurité du fil doit être assurée.En général, les machines virtuelles utilisent deux méthodes pour sécuriser les fils
Un.、CAS + Échec de retry
CASEst une façon d'implémenter une serrure optimiste,Supposons qu'il n'y ait pas de conflit pour effectuer une opération à la fois sans verrouillage,Si l'opération échoue en raison d'un conflit, réessayez,Jusqu'à ce que ça marche.Voir le blog pour plus de détails,Adresse de transfert:JavaProgrammation simultanée Pas de serrure(CAS)
2.、TLAB
TLABOui.JavaLe jardin d'Eden de l'espace de tas est divisé pour chaqueThreadEspace mémoire pour,Allouer de la mémoire spécifiquement pour les objets créés par ce thread dans cette zone.
Son objectif principal est d'allouer de la mémoire dans un environnement simultané,Réduire la concurrence entre les Threads pour l'espace mémoire,Accélérer l'allocation de mémoire.
TLABEn fait, c'est toujoursJavaEn tas,Donc, dansTLABObjet de la zone,Peut également être accédé par d'autres Threads.
Si non utiliséTLAB,Plusieurs Threads simultanés créent des objets,Lors de l'allocation de mémoire,C'est possible.JavaApplication de la même position dans le tas,Cela nécessite un verrouillage de cette partie de l'espace mémoire ou l'adoption deCASAttendre que l'Opération assure la sécurité du fil,C'est - à - dire que la zone n'est assignée qu'à un seul thread.
UtiliséTLABAprès,JVMSera dans la mémoire heap pour chaque threadRéservéUne zone mémoire,Au moment où l'opération de réservation a eu lieu,Doit être verrouillé ou adoptéCASProtection par des opérations similaires,Évitez de réserver la même zone à plusieurs fils.Une fois qu'une zone a été assignée à un thread,Plus tard, lorsque le thread doit allouer de la mémoire,La priorité sera accordée aux demandes dans ce domaine.Cette zone est pour ce threadAllocation de mémoireCette opération est privée au fil,Il n'est donc pas nécessaire d'effectuer des opérations telles que le verrouillage lors de la distribution,Cela protège les fils et augmente la vitesse d'allocation.
Attention!: Lorsque le thread crée un objet supérieur àTLABMémoire restante dans ouTLABLorsque la mémoire est épuisée,Re - AdoptionCAS + Échec de l'allocation de mémoire par retry.
边栏推荐
- 产业互联网时代,并不存在传统意义上的互联网
- Use of selector for NiO multiplexing
- NIO多路复用之Selector的使用
- 揭秘B站,程序员穿女装敲代码,效率更高是真的吗?
- first-order-model实现照片动起来(附工具代码) | 机器学习
- Technology Review: what is the evolution route of container technology? What imagination space is there in the future?
- Find the maximum value in each tree row [extension of one of the hierarchical traversals]
- AQS源码分析
- Docker installs MySQL 8.0. Detailed steps
- These map operations in guava have reduced my code by 50%
猜你喜欢
KT6368A蓝牙双模透传芯片软件版本选型说明
ansible基本配置
Flutter-使用 typedef的注意事项
Description of transparent transmission function before master and slave of kt6368a Bluetooth chip, 2.4G frequency hopping automatic connection
Technology inventory: past, present and future of Message Oriented Middleware
Common voting governance in Dao
First order model realizes photo moving (with tool code) | machine learning
NIO多路复用之Selector的使用
What aspects should we start with in the feasibility analysis of dry goods?
NiO zero copy
随机推荐
Implementation of heap sort and quick sort principle
Resolving the conflict problem of the flutter Library
Common voting governance in Dao
In the first year of L2, arbitrum nitro was upgraded to bring more compatible and efficient development experience
Servlet详解
How does flutter use the online transcoding tool to convert JSON to model
First order model realizes photo moving (with tool code) | machine learning
Docker 安装 MySQL 8.0,详细步骤
Rotate the square array of two-dimensional array clockwise by 90 °
The leader of ERP software in printing industry
Ideal L9, new trend of intelligent cockpit
Ansible basic configuration
first-order-model实现照片动起来(附工具代码) | 机器学习
OA system -- save the verification code to session
Principle and application of queue implementation
理想L9,智能座舱新潮流
Detailed explanation of agency mode
EasyBypass
Interrupt, interrupted, isinterrupted differences
网上立案流程