java线程的创建

     我们的电脑可以运行多个进程,是因为我们的CPU能够处理并列操作,软件也是一样,我们可以对这个软件执行多种操作,而并不会造成软件的卡死。我们生活中的购票的例子也是一样,我们的火车站买票有多个窗口并行的操作,这样的话就不会造成火车站的堵死。

     就拿购票这个例子来说吧

      class Test extends Thread {

              private static int tickets = 100;//让每次一进类就加载进来了,防止了会产生400张票

               public void run() {

                     while(true) {

                            if(tickets > 0) {

                                System.out.println(Thread.currentThread().getName() + tickets–);

                            }else {

                                 break;

                            }

                      }

                 }

       }

 

       public class Demo {

                   public static void main(String[] args) {

                         Test test = new Test();

                          test.setName(“test 0 “);

                          test.start();

 

                          Test test2 = new Test();

                          test2.setName(“test 1 “);

                          test2.start();

                   }

         }

 

      线程的另外一种定义方式:

           class Test implements Runnable {

                   private int tickets = 100;

                    public void run() {

                        while(true) {

                             if(tickets  > 0) {

                                    System.out.println(tickets–);

                             }else {

                                  break;

                             }

                         }

                    }

            }

           

             public class TestThread {

                      public static void main(String[] args) {

                           Test test = new Test();

                            Thread t1 = new Thread(test);

                            Thread t2 = new Thread(test);

                            t1.start();

                            t2.start();

                         }

                 }

        这种实现方式非常普遍,所以自己必须掌握它

        那么上述这两种方式有什么区别与联系/p>

         1.为了避免多继承的问题,当我们一个类已经继承了另外一个类的时候,我们需要用线程来执行run()方法里面的代码的时候,我们就可以使用Runnable接口来实现

         2.Runnable r = new Runnable();   Thread t1 = new Thread(r); t1.start();

                        

                             

文章知识点与官方知识档案匹配,可进一步学习相关知识Java技能树Java异步任务线程与进程92016 人正在系统学习中

来源:Love吵吵闹闹

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2012年1月13日
下一篇 2012年1月13日

相关推荐