java多线程编程笔记1
来源:互联网 发布:linux文件夹不能删除 编辑:程序博客网 时间:2024/03/29 18:11
以前很久听过多线程编程,但是一直没弄清楚多线程编程到底是怎么回事,最近认真研究了下,感觉多线程编程应用的实在是太多了,在此把所做笔记分享一下:<p>我先贴个代码,待会慢慢解释:
package Duoxianc;public class Duoxc { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stubCat 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 stubDog 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方法来做,也能达到你想要的结果,好啦,今天笔记暂时做到这啦!
- java多线程编程笔记1
- Java 多线程编程 笔记
- Java 多线程编程 学习笔记
- Java多线程编程核心技术笔记
- java多线程编程-ReentrantLock笔记
- java多线程编程-ReentrantReadWriteLock笔记
- 《Java多线程编程核心技术》笔记
- 《Java多线程编程核心技术》-笔记
- java多线程编程1
- java学习笔记14--多线程编程基础1
- 【java多线程编程核心技术】1.java多线程技能-笔记总结
- c#多线程编程笔记1
- 11.Java笔记—多线程编程
- 关于JAVA多线程编程的一点笔记
- Java学习笔记——多线程编程
- 《java多线程编程核心技术》核心笔记(一)
- 《java多线程编程核心技术》核心笔记(二)
- Java多线程编程核心技术 第一章笔记
- dom4j4.1.3解析XML字符串实例
- showModalDialog 使用详解
- 查看linux版本
- Linux Kernel training (2) Gpio
- 命令行下 mysql数据导入,导出
- java多线程编程笔记1
- VS2008下QT整合OGRE
- x210ii DM9000驱动调试成功-基于x210ii/s5pv210开发板
- mapgis6.7二次开发vc6_demo 之五(输出VCT函数之表属性段)
- vector2
- jquery右下角弹窗效果
- VML绘制油田井位图
- iOS图片加载和绘制问题
- BM算法之二