Java多线程两种实现方式的比较
实现多线程的两种方式,一种是继承Thread类,一种是实现Runnable接口,有两个例子如下:方式一:方式二:疑问:为什么实现Runnable时,创建线程对象不能写成"...
实现多线程的两种方式,一种是继承Thread类,一种是实现Runnable接口,有两个例子如下:
方式一:
方式二:
疑问:
为什么实现Runnable时,创建线程对象不能写成 " MyThread mt=new MyThread();"?
明白了,就是说采用实现Runnable的方式时,例子2中定义的MyThread类并没有采用extends表明继承了Thread类,因此要调用Thread类中才有的start()方法,必须先创建Thread类的对象,才能调用start()方法,而Thread mt = new Thread(new MyThread())就是创建Thread类的对象的;
与方式2不同,在方式1中,MyThread类直接继承extends了Thread类,当然MyThread的对象就可以直接调用start()方法了!谢谢诸位! 展开
方式一:
方式二:
疑问:
为什么实现Runnable时,创建线程对象不能写成 " MyThread mt=new MyThread();"?
明白了,就是说采用实现Runnable的方式时,例子2中定义的MyThread类并没有采用extends表明继承了Thread类,因此要调用Thread类中才有的start()方法,必须先创建Thread类的对象,才能调用start()方法,而Thread mt = new Thread(new MyThread())就是创建Thread类的对象的;
与方式2不同,在方式1中,MyThread类直接继承extends了Thread类,当然MyThread的对象就可以直接调用start()方法了!谢谢诸位! 展开
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询