Sha256: 0578aa884357fb0aff88f2bc90c0c57f5ce9a35debdb27becd839d1f97943fc3
Contents?: true
Size: 978 Bytes
Versions: 308
Compression:
Stored size: 978 Bytes
Contents
using System; public class BankAccount { private readonly object _lock = new object(); private float balance; private bool isOpen; public void Open() { lock(_lock) { isOpen = true; } } public void Close() { lock(_lock) { isOpen = false; } } public float Balance { get { lock (_lock) { if (!isOpen) { throw new InvalidOperationException("Cannot get balance on an account that isn't open"); } return balance; } } } public void UpdateBalance(float change) { lock(_lock) { if (!isOpen) { throw new InvalidOperationException("Cannot update balance on an account that isn't open"); } balance += change; } } }
Version data entries
308 entries across 308 versions & 1 rubygems