Sha256: cea4e524ac8d94f4f9ff086135329c5c8c81d04f1c0067823317d4a9e4d5c783
Contents?: true
Size: 918 Bytes
Versions: 88
Compression:
Stored size: 918 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 GetBalance() { 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
88 entries across 88 versions & 1 rubygems