java多线程编程笔记1

以前很久听过多线程编程,但是一直没弄清楚多线程编程到底是怎么回事,最近认真研究了下,感觉多线程编程应用的实在是太多了,在此把所做笔记分享一下:<p>我先贴个代码,待会慢慢解释:

package Duoxianc; public class Duoxc { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub Cat cat=new Cat(); cat.start(); } } class Cat extends Thread { public void run() { int n=0; while(true) { try { Thread.sleep(1000); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } System.out.println("MAOMAO来啦!"+n); n++; if(n>10) { break; } } } }


这是一种多线程实现方法,就是直接继承于Thread类,然后重写里面的run()方法,可以在里面干你想干的事情,然后在主函数里面创建一个对象,可以用这个对象直接启动线程,上面代码实现每隔一秒输出一句“猫猫来啦”!
还有一种实现多线程的方法就是实现Runnablej接口,这也是一种很好的方法,用得会更多,待会会介绍他的优点:还是老规矩,贴个代码看看:

package Duoxianc; public class Implementrun { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub Dog dog=new Dog(); Thread th=new Thread(dog); th.start(); } } class Dog implements Runnable{ @Override public void run() { // TODO Auto-generated method stub int n=0; while(true) { try { Thread.sleep(1500); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } System.out.println("gOUgou也来啦!"+n); n++; if(n>10) { break; } } } }


这种方法就是实现Runnable接口的方法,在你的类里面实现run()方法,跟上面一样,这里是每隔一秒输出一个"狗狗也来啦",但是仔细看主程序里面,这里启动线程的方式与继承thread 有所不同,这里是先产生一个对象,让后把他作为产生一个新线程的参数,启动线程就用这个产生的新线程来启动,还是调用start()方法。
这两种方法都能实现多线程,但是我觉得用实现接口的方法会更好一点,因为要是继承于Thread会导致这个类不能再继承其他的类了,因为我们知道java里面是不支持多继承的,所以如果我们用实现接口的方法会留出一个继承的接口,而实现接口确实没有限制的,所以还是支持大家使用实现接口的方法来做多线程编程,但是如果你的类比较简单,不需要继承,你也可以选择继承thread方法来做,也能达到你想要的结果,好啦,今天笔记暂时做到这啦!


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值