java多线程-Thead线程学习记录笔记

介绍的内容:

主要介绍多线程的基本概念到后面的基本使用。以及一些稍微的原理猜测。个人笔记,不喜勿喷 

目录

目录

一、线程使用

1.1 概念

1.2 线程生命周期

1.3 java中实现的方式

  1.3.1 继承线程 Thread

1.3.2 实现接口Runnable (无返回值)

1.3.3 实现接口Callable (带返回值)

1.4线程执行的流程

二、多线程带来的安全性问题

三、如何解决安全性问题

3.1 基本概念

3.2 如何自己实现上锁操作

四、线程相关使用工具

4.1相关同步API(了解)

4.2线程池相关的知识点(掌握)

 4.2.1 ThreadPoolExecutor相关参数

 4.2.2 线程池提供静态创建

4.2.3猜想一下线程池的实现原理

4.2.4其他


一、线程使用

线程:主要是异步+并行,为了合理的利用cpu资源

 一般多线程都会和并发、并行联系在一起。

1.1 概念

 并发:单个时间内,能支持的吞吐量。一定需要多线程的参与, 常见的评判指标有:QPS,TPS来进行评判标准

 并行:同一时刻能够运行多个任务

1.2 线程生命周期

图:

            

 

  1. 新建NEW、
  2. 运行RUNNABLE(就绪-->通过cpu调用算法)
  3. 阻塞BLOCKED、
  4. 等待WAITING、
  5. 超时等待TIMED_WAITING、
  6. 终止 TERMINATED

1.3 java中实现的方式

  1.3.1 继承线程 Thread

 // 方式一 继承线程 Thread
    public class ThreadDemoOne extends  Thread{
        @Override
        public void run() {
            System.out.println("继承 Thread ==> 相关业务逻辑");
            super.run();
        }
    }

1.3.2 实现接口Runnable (无返回值)

   // 方式二 实现接口Runnable (无返回值)
    public class ThreadDemoTwo implements  Runnable{
        @Override
        public void run() {
            System.out.println("实现接口Runnable ==>相关业务逻辑");
        }
    }

1.3.3 实现接口Callable (带返回值)

// 方式三 实现接口Callable (带返回值)
    public class ThreadDemoThree implements Callable{

        @Override
        publ
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值