首先两个线程有两个资源s1和s2,第一个线程是先请求s1,再请求s2;第二个线程是先请求s2,再请求s1.由于你无法控制哪个线程先运行,哪个线程后运行,这是由cpu控制的。所以这个两个线程的运行会发生以下几种情况:1、死锁。当线程1获得资源s1后,线程2获得资源s2后,线程1尝试获得资源s2,线程2尝试获得资源s1,此时会发生死锁。2、线程1先运行结束,然后释放资源s2和s1,这时的打印顺序为:ABBCAD 。3、线程2先运行结束,然后释放相关资源s1和s2,这时的打印顺序为:CDDACB。