码迷,mamicode.com
首页 > 编程语言 > 详细

JAVA实现多线程入门

时间:2016-08-06 23:34:54      阅读:351      评论:0      收藏:0      [点我收藏+]

标签:

package com.thread;
/**
 * 1:程序员可以在程序中执行多个线程,每一个线程完成一个功能,并于其他线程并发执行,这种
 * 机制被称为多线程
 * 2:实现线程的两种方法是,分别是继承java.lang.Thread或者实现java.lang.Runnable
 * 接口
 * 3:Thread泪时java.lang包中的一个类,从这个类实例化的对象代表线程
 * 4:完成线程真正功能的代码是放在run()方法中的,当一个泪继承Thread类后,就可以
 * 在该类中覆盖run()方法,将实现该线程功能的代码写入run()方法中,然后同时调用Thread
 * 类中的strat()方法执行线程,也就是调用run()方法。
 * @author biexiansheng
 *
 */
public class ThreadTest extends Thread {//指定类继承Thread类
    
    private int count=10;
    public void run(){//重写run()方法
        while(true){
            System.out.print(count+" ");//打印count变量
            if(--count==0){//使count变量自减,当自减为0时,退出循环
                return;
            }
        }
    }
    public static void main(String[] args) {
        //new ThreadTest().start();
        Thread t=new ThreadTest();//两种方法都可以实现线程运行
        t.start();
    }
}

示例如下

package com.thread;
/**
 * 1:多线程实例练习
 * @author biexiansheng
 *
 */
public class ThreadTest1 extends Thread{

    //多线程的实现都是在run()方法中实现的
    public void run(){
        System.out.println(getName()+"登上舞台");
        int count=0;//定义一个变量
        while(count<=100){
            System.out.println(getName()+"登上"+count+"次舞台");
            count++;
            if(count%10==0){
                try {
                    Thread.sleep(2000);//捕获异常,休眠2秒
                } catch (InterruptedException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }//
            }
        }
        System.out.println(getName()+"走下舞台");
    }
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Thread t=new ThreadTest1();
        t.setName("Mr.Thread");
        t.start();
        //new ThreadTest1().start();
        
        //实现Runnable接口
        Thread t1=new Thread(new RunnableTest(),"Ms.Runnable");
        t1.start();
    }
}

class RunnableTest implements Runnable{
//写完上一句,类名报错,说明实现一个接口,就要实现这个接口内的方法
    @Override
    public void run() {
        // TODO Auto-generated method stub
        System.out.println(Thread.currentThread().getName()+"走上了舞台");
        //Runnable接口实现getName必须通过线程的currentThread()方法得到
        int count=0;//定义一个变量
        while(count<=100){
            System.out.println(Thread.currentThread().getName()+"登上"+count+"次舞台");
            count++;
            if(count%10==0){
                try {
                    Thread.sleep(2000);//捕获异常,休眠2秒
                } catch (InterruptedException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }//
            }
        }
        System.out.println(Thread.currentThread().getName()+"走下舞台");
    
    }
    
}

 

JAVA实现多线程入门

标签:

原文地址:http://www.cnblogs.com/biehongli/p/5745023.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!