public static int accountBalance = 50;
public static double creditScore = 1.0;
static public void Main()
Thread add150 = new Thread(() => Add(150,0.3));
Thread pay200 = new Thread(() => Pay(200,0.2));
Thread pay50 = new Thread(() => Pay(50,0.05));
Thread add300 = new Thread(() => Add(300,0.6));
Thread add100 = new Thread(() => Add(100,0.2));
Thread pay350 = new Thread(() => Pay(350,0.35));
Console.WriteLine($"Account Balance is {accountBalance}");
public static void Pay(int sum, double scoreModifier)
Console.WriteLine($"PAY balance: {accountBalance}, paying {sum}, credit score bonus: {scoreModifier}");
Console.WriteLine("Insufficient funds!");
accountBalance = accountBalance - sum;
creditScore = creditScore + scoreModifier;
Console.WriteLine($"PAY balance: {accountBalance}, credit score {creditScore}");
public static void Add(int sum, double scoreModifier)
Console.WriteLine($"ADD balance: {accountBalance}, adding {sum}, credit score bonus: {scoreModifier}");
accountBalance = accountBalance + sum;
creditScore = creditScore + scoreModifier;
Console.WriteLine($"ADD balance: {accountBalance}, credit score {creditScore}");