Why shouldn't I use Thread.start() in the constructor of my class?
问题 I've been searching for justification as for why you should not call a thread's start method inside a constructor for a class. Consider the following code: class SomeClass { public ImportantData data = null; public Thread t = null; public SomeClass(ImportantData d) { t = new MyOperationThread(); // t.start(); // Footnote 1 data = d; t.start(); // Footnote 2 } } ImportantData is some generic box of stuff (presumably important) and MyOperationThread is a subclass of thread that knows how to