Maison  >  Article  >  Java  >  Quelles sont les manières d’utiliser Lock en Java ?

Quelles sont les manières d’utiliser Lock en Java ?

王林
王林avant
2023-04-23 20:52:051862parcourir

1. Fonction

(1) La méthode Lock prend en charge l'interruption, aucune acquisition après un délai d'attente et n'est pas bloquante

(2) Sémantique améliorée, où verrouiller et déverrouiller doit être écrit

(3 )Lock le verrouillage explicite peut nous apporter une bonne flexibilité, mais en même temps nous devons libérer le verrou manuellement

(4) Objet de condition Support Condition

(5) Autoriser plusieurs threads de lecture à accéder aux ressources partagées en même temps

2 . utilisation du verrouillage

// 获取锁  
void lock()   
 
// 如果当前线程未被中断,则获取锁  
void lockInterruptibly()   
 
// 返回绑定到此 Lock 实例的新 Condition 实例  
Condition newCondition()   
 
// 仅在调用时锁为空闲状态才获取该锁  
boolean tryLock()   
 
// 如果锁在给定的等待时间内空闲,并且当前线程未被中断,则获取锁  
boolean tryLock(long time, TimeUnit unit)   
 
// 释放锁  
void unlock()

lock(), tryLock(), tryLock(long time, TimeUnit unit) et lockInterruptably() sont utilisés pour acquérir des verrous. La méthode unLock() est utilisée pour libérer le verrou. La méthode newCondition() est utilisée pour la communication entre les threads.

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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer