多线程基础练习

 

一、java实现多线程的方式

1、继承Thread

2、实现 Runnable和Future、有返回值Callable

A Future计算的结果。 提供方法来检查计算是否完成,等待其完成,并检索计算结果。

二、练习

package muIo;

/**
 * 
 * @function:  Thread
 * @desc:
 * @author: LuLijun
 * @date: 2019年3月11日 下午2:13:36
 */
public class ExtendsThread extends Thread{

    public ExtendsThread(){
        System.out.println("线程:"+Thread.currentThread().getName()+"正在启动!");
        //修改主线程的名称
        Thread.currentThread().setName("MAIN");
        System.out.println("线程:"+Thread.currentThread().getName()+"正在启动!");
    }
    @Override
    public void run(){
        //for(int i=0;i<100000;i++){
            //System.out.println("线程:"+name+",----"+i);
            //System.out.println("线程名称:"+Thread.currentThread().getName()+",线程id:"+Thread.currentThread().getId()+"---"+i);
        //}
        
    }
}
---------------------------------------

package muIo;

/**
 * 
 * @function:多线程----runnable练习
 * @desc:
 * @author: LuLijun
 * @date: 2019年3月11日 下午1:26:39
 */
public class MuIO implements  Runnable{
    String name;
    
    public MuIO(){
        System.out.println("线程:"+Thread.currentThread().getName()+"正在启动!");
    }
    public MuIO(String threadName){
        this.name=threadName;
        System.out.println("线程:"+threadName+"正在启动!");
    }

    @Override
    public void run() {
        // TODO Auto-generated method stub
        for(int i=0;i<1000;i++){
            //System.out.println("线程:"+name+",----"+i);
            System.out.println("线程名称:"+Thread.currentThread().getName()+",线程id:"+Thread.currentThread().getId()+"---"+i);
        }
    }
}
---------------------------------------------------------

package muIo;

import org.junit.Test;

public class MuIOTest {

// implements  Runnable    

@Test
    public  void thread01() {
        // TODO Auto-generated method stub

        //MuIO mio1=new MuIO("线程1");
        //MuIO mio2=new MuIO("线程2");
        MuIO mio=new MuIO();
        //mio1.run();
        //mio2.run();
        
        //开启线程数
        new Thread(mio,"线程1").start();
        new Thread(mio,"线程2").start();
    }
    

// extends Thread
    @Test
    public  void threadTest(){
        
        ExtendsThread ex=new ExtendsThread();
        ExtendsThread ex2=new ExtendsThread();     
        //设置线程就绪状态
        ex.start();
        //设置线程名称
        ex.setName("xc1");
        ex2.start();
        ex2.setName("xc02");
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值