今天上课讲到线程,老师说main方法也是线程的方法,谁能详细说一下,致谢!

解决方案 »

  1.   

        public static void main(String[] args) throws Exception{
      
            Thread t = Thread.currentThread();
            String name = t.getName();
            System.err.println("Current thread name=" + name);
            
            //Wait for 10 secnods
            System.err.println("Wait for 10 seconds....");
            final Object lock = new Object();
            synchronized (t) {
                t.wait(10 * 1000);
               
            }
            System.err.println("Wake up dude...");
            
            StackTraceElement[] elems = t.getStackTrace();
            for (StackTraceElement elem : elems) {
                System.err.println(elem.toString());
            }    }------------------------------------------------
    Current thread name=main
    Wait for 10 seconds....
    Wake up dude...
    java.lang.Thread.dumpThreads(Native Method)
    java.lang.Thread.getStackTrace(Unknown Source)
    ......
      

  2.   

    Thread.sleep(1000);
    学了线程,上面的方法应该知道吧?这个方法是线程专用的吧?那么你在main方法里面用一下这个方法就可以发现,编译不报错,运行也没问题,这就证明了,main()方法确实是个线程方法
      

  3.   

    zealVampire 的例子讲的已经很透彻了,不单演示了线程操作,也演示了线程调用者信息。
      

  4.   

    zealVampire   的例子不错,main方法不仅仅是线程的方法.确切地讲是主线程/有道理不,有道理就
    给分给分.CSDN上混了8年现在成0分了,同情下我,
    随便进进我的网站支持一下http://www.91shang.com
      

  5.   

    一楼朋友写的程序很漂亮,很感谢,很感动!以后学习java遇到不懂之处,还希望你能多多指教!四楼的网站我去看了,我也很喜欢电影,不过要是能做成www.imdb.cn那样界面,会看起来更舒服!
      

  6.   

    final   Object   lock   =   new   Object(); 
    为什么要new一个Object的对象啊?楼上的程序好像没用到啊?不解
      

  7.   

    哦,1楼程序应该改成!final   Object   lock   =   new   Object(); 
                    synchronized   (lock)   { 
                            t.wait(10   *   1000); 
                          
                    } 这样才起到对象锁的作用,原来你是这意思!