黑马程序员技术交流社区

标题: 多线程5 [打印本页]

作者: 董将    时间: 2012-12-7 23:47
标题: 多线程5
join():线程加入。等待该线程结束。
                比如主线程执行了到了A线程的join方法。这时主线程会释放cpu的执行资源,让其他线程执行。
                其他线程中包含A线程。那么主线程什么执行呢?主线程只等A线程结束后,就会恢复到运行状态。
                如果这时还有其他线程在执行,那么主线会和其他线程共同抢资源运行。

                通常可以临时让一个线程加入,并执行完。

        setPriority(int):设置线程的优先级。优先级1~10,为了方便应用,给较为明显的数值进行名称的定义。
                Thread类中的三个常量:MAX_PRIORITY  MIN_PRIORITY  NORM_PRIORITY
                线程开启时,默认优先级都是5.

        yield():暂停线程,当前线程释放资源,可以让其他线程得以执行。
                它的出现可以暂缓程序的执行。

        -----------------------

        在程序中的应用:
        可以随时的通过匿名内部类开一个控制单元。

        class Demo
        {
                main()
                {
                        new Thread()//创建的是Thread的子类匿名对象。(传说中的匿名内部类)
                        {
                                public void run()
                                {
                                        code...;
                                }
                        }.start();

                        code...;//主线程代码。

                        Runnable r = new Runnable()
                        {
                                public void run()
                                {
                                        code...;
                                }
                        };

                        new Thread(r).start();
                }
        }


完整的多线程相关的一个程序,其中的代码包括总结性的知识,可以看看






欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2