mirror of
https://github.com/github/codeql.git
synced 2025-12-17 17:23:36 +01:00
35 lines
765 B
C#
35 lines
765 B
C#
using System;
|
|
using System.Threading;
|
|
|
|
class DeadlockFixed
|
|
{
|
|
private readonly Object lock1 = new Object();
|
|
private readonly Object lock2 = new Object();
|
|
|
|
public void thread1()
|
|
{
|
|
lock (lock1)
|
|
{
|
|
Console.Out.WriteLine("Thread 1 acquired lock1");
|
|
Thread.Sleep(10);
|
|
Console.Out.WriteLine("Thread 1 waiting on lock2");
|
|
lock (lock2)
|
|
{
|
|
}
|
|
}
|
|
}
|
|
|
|
public void thread2()
|
|
{
|
|
lock (lock1) // Fixed
|
|
{
|
|
Console.Out.WriteLine("Thread 2 acquired lock1");
|
|
Thread.Sleep(10);
|
|
Console.Out.WriteLine("Thread 2 waiting on lock2");
|
|
lock (lock2) // Fixed
|
|
{
|
|
}
|
|
}
|
|
}
|
|
}
|