我试图了解如何创建死锁。我了解,通过在两个同步方法上使用两个线程,可以创建死锁。通过网络浏览了许多示例。
可以通过等待和通知来创建死锁吗?每当线程处于等待状态时,都会收到通知。那么,如何最终陷入僵局呢?
举例说明将很有帮助。
import java.util.*;
public class C_2 {
public static void main(String args[]) {
String theStrings[] = { "x", "a", "b", "c", "d" };
List l = Arrays.asList(theStrings);
Collections.sort(l); // line a
Collections.sort(l, new ThisIsMyThing()); // line b
System.out.println(l);
}
}
class ThisIsMyThing implements Comparator {
public int compare(Object o1, Object o2) {
String s1 = (String)o1;
String s2 = (String)o2;
return -1 * s1.compareTo(s2);
}
}
Run Code Online (Sandbox Code Playgroud)
据我所知,该课程C_2基于两种不同的技术进行排序.一个是标准Collections.sort(l);
而另一个是Collections.sort(l,Comparator<>());我无法理解这种排序方法.有人可以向我解释一下吗?
我有一个私人结构的课程.如何访问该结构的数据成员?
class ClassStruct
{
private:
struct Struct
{
std::string time;
int temp;
};
public:
ClassStruct();
};
Run Code Online (Sandbox Code Playgroud)
这是我尝试过的:
struct Struct o;
ClassStruct object;
cout << "Enter time (hh:mm): ";
cin >> object.o.time;
Run Code Online (Sandbox Code Playgroud)
但它在"o"上显示错误.