(二)JAVA周边-2:对多线程的简述

目录

多线程-Extending

.1-线程基础

.1.1-实现多任务的方法:

.1.2-创建线程

.1.3-线程状态

.1.4-线程行为

.1.5-线程死锁

.2-线程涉及的方法

.2.0-Concurent集合:

.2.1-解决多线程竞争

.2.2-解决多线程协调

.2.3-原子操作

.2.4-线程池

.2.5-ThreadLocal下多任务场景


多线程-Extending

JAVA多线程编程

Reference_Blog.liao

Introduction:

Reference_Blog.liao

.1-线程基础

.1.1-实现多任务的方法:

Reference_Blog.liao

-多进程模式

-多线程模式

-多进程+多线程

.1.2-创建线程

Reference_Blog.liao 

Reference_RUNOOB

.1.3-线程状态

JAVA多线程编程

Reference_Blog.liao

.1.3.1-线程状态切换:

Reference_Blog.liao

.1.3.2-线程终止原因:

Reference_Blog.liao

.1.4-线程行为

.1.4.1-中断线程

Reference_Blog.liao

-中断线程的行为:

中断线程就是其他线程给该线程发一个信号,该线程收到信号后结束执行run()方法,使得自身线程能立刻结束运行。

-中断线程的办法:

中断一个线程非常简单,只需要在其他线程中对目标线程调用interrupt()方法,目标线程需要反复检测自身状态是否是interrupted状态,如果是,就立刻结束运行。

-代码实现:

Reference_Blog.liao

.1.4.2-守护线程

Reference_Blog.liao

-守护线程(Daemon Thread)的行为:

Java程序入口就是由JVM启动main线程,main线程又可以启动其他线程。当所有线程都运行结束时,JVM退出,进程结束。

如果有一个线程没有退出,JVM进程就不会退出。所以,必须保证所有线程都能及时结束。

-守护线程的办法:

如何创建守护线程呢?方法和普通线程一样,只是在调用start()方法前,调用setDaemon(true)把该线程标记为守护线程。

-代码实现:

Reference_Blog.liao

.1.4.3-线程同步

Reference_Blog.liao

-线程同步的行为:

 Reference_Blog.liao

-线程同步方法:

代码实现:

Reference_huaweicloud

.1.5-线程死锁

Reference_Blog.liao

.1.5.1线程死锁的行为:

Reference_Blog.liao

.2-线程涉及的方法

.2.0-Concurent集合:

Reference_Blog.liao

Introduction:

Reference_Blog.liao

.2.1-解决多线程竞争

-2.1.1-synachronized

Reference_Blog.liao

synchronized()

-2.1.2-ReentrantLock

Reference_Blog.liao

ReentrantLock()

Reference_Blog.liao

-2.1.3-ReadWriteLock:

Reference_Blog.liao

ReentrantReadWriteLock()

-对比ReentrantLock():

 

Reference_Blog.liao

-ReadWriteLock.: 

Reference_Blog.liao

-2.1.3-StampLock:

Reference_Blog.liao

stampLock.

-对比ReadWriteLock:

 Reference_Blog.liao

- stampLock.

 Reference_Blog.liao

.2.2-解决多线程协调

.2.2.1-wait(), notify()

Reference_Blog.liao

wait(); notify()

Reference_Blog.liao

.2.2.2-condition对象实现wait(), notify()

Reference_Blog.liao

condition.: 实现更灵活的线程同步。

.2.3-原子操作

.2.3.1-atomic

Reference_Blog.liao

Introdcution:

Reference_Blog.liao

.2.4-线程池

.2.4.1-ExecutorService实现线程池

Reference_Blog.liao

Introdcution:

Reference_Blog.liao

.2.4.2-Fork/join线程池

Reference_Blog.liao

Introduction:

Reference_Blog.liao

.2.5-ThreadLocal下多任务场景

Reference_Blog.liao

Introduction:

多线程是Java实现多任务的基础,Thread对象代表一个线程,我们可以在代码中调用Thread.currentThread()获取当前线程。

Reference_Blog.liao

--------------------
作者:Username1898625
创作不易,转载已注明出处
--------------------

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值