TIJ读书笔记-第21章-并发

一本Think in java,从去年6月份开始读,读了快一年了,也快读完了,然而回头想想,却好像什么也不记得了,好记性不如烂笔头,那就从现在开始记录一下吧。由于现在在读的是并发,那就先从这章开始吧。(由于是个人学习笔记,不是教程什么的,不会特别全面,如果有什么错误,还望大神指出)

一,线程的实现方式

1.实现Runnable接口

package com.pikzas.cocurrent;

/**
 * Created by pikzas on 2017/5/22.
 */
public class LiftOff implements Runnable {
    protected int countDown = 10;
    private  static int taskCount = 0;
    private final int id = taskCount++;
    public LiftOff(){}
    public LiftOff(int countDown){
        this.countDown = countDown;
    }
    private String status(){
        return "#" + id + "(" + (countDown > 0? countDown:"LiftOff!") + "),";
    }
    public void run() {
        while(countDown-->0){
            System.out.print(status());
            Thread.yield();
        }
    }

    public static void main(String[] args) {
        LiftOff liftOff = new LiftOff();
        liftOff.run();
    }
}
View Code

2.继承Thread类

package com.pikzas.cocurrent;

/**
 * Created by pikzas on 2017/5/22.
 */
public class LiftOffThread extends Thread {
    protected int countDown = 10;
    private static int taskCount = 0;
    private final int id = countDown++;
    public LiftOffThread(){
        System.out.println("i am running!");
    }
    public LiftOffThread(int countDown){
        this.countDown = countDown;
    }
    public String status(){
        return "*" + id + "(" + (countDown>0? countDown:"LiftOffAgain") + ")";
    }

    public static void main(String[] args) throws InterruptedException {
        System.out.println("waiting for liftoff");
        for (int i=0;i<5;i++){
            Thread thread = new Thread(new LiftOffThread());
            thread.start();
        }
    }
}
View Code

 3.线程的启动

  3.1. Thread thread = new Thread();

      thread.run();  //会等待当前调用线程任务执行完成后在启动

      thread.start();  //会立即启动执行

 

二,线程的管理--Executor

转载于:https://www.cnblogs.com/Pikzas/p/6829041.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值