JAVA简单线程实例入门

淘宝特卖
  在网上查了一些JAVA线程的例子.要么都是抄来抄去,要么就是复杂,对于初学者,很难去理解线程

为了让初学者更快的理解线程.我自己写了简单易懂.希望大家能理解


先看代码吧:

建一个主函数类:


    public static void main(String[] args) {
        
        thread1 thread1 = new thread1();//用Thread类的子类创建线程
        Thread thread2 = new Thread(new thread2());//用Runnable接口类的对象创建线程
        thread1.start();//strat()方法启动线程
        thread2.start();
        
    }



建第一个线程类:

public class thread1 extends Thread {

    @Override
    public void run() {

        try {
            Thread.sleep(7000);//主线程挂起7秒,之所以加这个方法是为了更好的理解线程.后面我会说的
            System.out.println("one is start....");

        } catch (InterruptedException e) {
            e.printStackTrace();
        }
    }

}

建第二个线程类:

public class thread2 implements Runnable {

    public void run() {

        System.out.println("two is start ...");
    }

}


这些是原代码,当你运行,结果是two is start ... 然后过7秒one is start.... 不知道大家发现没有
主函数应该第一运行thread1.start() 这个类,输出结果是one is start.... 但是却没有.而是two is start ...
          thread1.start();//strat()方法启动线程
        thread2.start();

可以看出,启动线程的run()方法是通过调用线程的start()方法来实现的(见上例中主类),调用start()方法启动线程的run()方法不同于一般的调用方法,调用一般方法时,必须等到一般方法执行完毕才能够返回start()方法,而启动线程的run()方法后,start()告诉系统该线程准备就绪可以启动run()方法后,就返回start()方法执行调用start()方法语句下面的语句,这时run()方法可能还在运行,这样,线程的启动和运行并行进行,实现了多任务操作。
所以大家明白了吧,用了线程了,他们之间是互不影响的.thread1.start() 还没有结束,对thread2.start()没有影响 现在也明白我在thread1类中加Thread.sleep(7000)的意义了吧
就是为了更好的理解线程!

此文章如果帮助您了,购物请到www.taowule.com 谢谢!
上一篇: JAVA:通过现实例了理解进程和线程
下一篇: 怎么防止Windows系统不会中毒的技巧
文章来自: 本站原创
引用通告: 查看所有引用 | 我要引用此文章
Tags: java
相关日志:
评论: 2 | 引用: 0 | 查看次数: -
最有效的丰胸产品[2010-09-15 07:00 PM | | | 58.54.63.171 | del | 回复回复]
板凳
没学会,以后再向你请教
关注java[2010-05-21 08:31 AM | | | 221.224.29.58 | del | 回复回复]
沙发
线程学好非常实用
发表评论
昵 称:
密 码: 游客发言不需要密码.
邮 箱: 邮件地址支持Gravatar头像,邮箱地址不会公开.
网 址: 输入网址便于回访.
内 容:
验证码:
选 项:
虽然发表评论不用注册,但是为了保护您的发言权,建议您注册帐号.
字数限制 1000 字 | UBB代码 开启 | [img]标签 关闭