当前位置:网站首页>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.
边栏推荐
- In the era of industrial Internet, there is no Internet in the traditional sense
- leetcode:45. Jumping game II [classic greed]
- socket(2)
- [200 opencv routines] 209 Color image segmentation in HSV color space
- How to grab the mobile phone bag for analysis? Fiddler artifact may help you!
- NIO、BIO、AIO
- 树莓派初步使用
- Publicity of the second batch of shortlisted enterprises! Annual Top100 smart network supplier selection
- Seven principles of software design
- 磁盤的結構
猜你喜欢

干货丨产品的可行性分析要从哪几个方面入手?

ansible基本配置

Notes on writing questions (18) -- binary tree: common ancestor problem

Cannot find reference 'imread' in 'appears in pycharm__ init__. py‘

First order model realizes photo moving (with tool code) | machine learning

Raspberry pie preliminary use

These map operations in guava have reduced my code by 50%

leetcode:45. 跳跃游戏 II【经典贪心】

NIO、BIO、AIO

KT6368A蓝牙芯片的主从机之前透传功能说明,2.4G跳频自动连接
随机推荐
Use of selector for NiO multiplexing
是真干不过00后,给我卷的崩溃,想离职了...
揭秘B站,程序员穿女装敲代码,效率更高是真的吗?
Disk structure
Valueerror: cannot take a larger sample than population when 'replace=false‘
网上立案流程
Technology Review: what is the evolution route of container technology? What imagination space is there in the future?
代理模式详解
如何抓手机的包进行分析,Fiddler神器或许能帮到您!
Heartless sword Chinese English bilingual poem 003 The sea of books
Technology inventory: past, present and future of Message Oriented Middleware
Kubevela v1.2 release: the graphical operation console velaux you want is finally here
Flutter: Unsupported value: false/true
专科出身,2年进苏宁,5年跳阿里,论我是怎么快速晋升的?
04A interrupt configuration
NIO 零拷贝
I really can't do it. After 00, I collapsed and wanted to leave
SAP interface debug setting external breakpoints
Development trend and path of SaaS industry in China
波卡生态发展不设限的奥义——多维解读平行链