# thread_learning **Repository Path**: WangShaoyu01/thread_learning ## Basic Information - **Project Name**: thread_learning - **Description**: 线程与高并发的学习 - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2022-07-02 - **Last Updated**: 2022-07-25 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 多线程与并发 ## day1 > 第一次认识线程 > > 如何创建线程 > > 如何开启线程 ## day2 > 线程的属性:id和name、状态、优先级、前台和后台 > > 线程的方法:join() 、Thread.currentThread() > > 线程调用栈 ## day3 > 多线程下的并发排序 vs 单线程排序 > > 线程方法:yield() > > 线程方法:interrupt() > > 阻塞场景下添加新的线程 bock_scene ## day4 线程安全问题 > phenomenon: 线程不安全的现象 > > synchronized的使用 > > exclusive: 加锁的代码块互斥执行 ## day5 锁 > phenomenons: 几种不同加锁方式的场景 > > Locks_demo: Lock锁的应用和现象 > > state: 线程阻塞状态 ## day6 > volatile保证内存可见性 > > singleton 单例模式:饿汉模式、懒汉模式 > > wait_and_notify > > 条件变量Condition > > 实现阻塞队列 BlockingQueue ## day7 > 定时器(Timer) > > 线程池 > Executor -> ExecutorService -> ThreadPoolExecutor > > 自己实现线程池 ## day8 面试 > 读写锁 > > 可重入锁 > > 公平锁 和 不公平锁 ## day9 > 原子类 atomic > > 信号量 semaphore > > 计时器 CountDownLatch > > callable线