Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Rilascia i blocchi di lettura dopo l'elaborazione SubscriptionChangeList
Quando si avvia un aggiornamento, sono presenti segmenti di memoria condivisa per i dati salvati in altre partizioni relative al segno di spunta precedente. Questi segmenti di memoria condivisa potrebbero essere bloccati dai lettori. Un'app non può eseguire il commit completo finché tutti i lettori non hanno rilasciato i lucchetti. Come ottimizzazione, un'app dovrebbe chiamare Api::ReleaseReadLeases()
per rilasciare i blocchi dopo aver Api::SubscriptionChangelist
elaborato gli elementi. Ciò riduce le contese al momento del commit. Api::Commit()
rilascia i lease di lettura per impostazione predefinita, ma è consigliabile rilasciarli manualmente dopo l'elaborazione degli aggiornamenti dell'abbonamento.
Esempio
Result<void> ProcessSubscriptionChanges(Transaction& transaction) { WEAVERRUNTIME_TRY(ProcessSubscriptionChanges(transaction)); /** * Done processing Api::SubscriptionChangeList items. * Release read locks. */ WEAVERRUNTIME_EXPECT(Api::ReleaseReadLeases(transaction)); ... }