java多线程之:线程对象一些api

简介: 一:wait()方法,wait(long timeout)--->锁对象调用wait()方法,让当前线程小a进入等待状态,阻塞住,并让出当先线程拥有的锁。--->直到其他线程用锁对象调用notifyAll(),notify()将小a从wait虚拟队列中将阻塞的线程唤醒。

一:wait()方法,wait(long timeout)
--->锁对象调用wait()方法,让当前线程小a进入等待状态,阻塞住,并让出当先线程拥有的锁。
--->直到其他线程用锁对象调用notifyAll(),notify()将小a从wait虚拟队列中将阻塞的线程唤醒。重新争锁。
--->当别的线程对当前线程小a的对象调用interrupt()方法,则阻塞在wait虚拟队列的线程抛出InterruptedException异常,打算阻塞。
--->wait(longtimeout)进入锁对象虚拟队列的线程在阻塞timeout长时间后,此时已经让出锁,自己自动唤醒,再次争抢锁。

二:notifyAll()notify()方法
--->notifyAll()方法是将进入锁对象wait队列里所有阻塞的线程唤醒,重新争取锁。
--->notify()方法是将进入所对象wait虚拟队列里的阻塞的线程,拿出一个唤醒。

三:sleep(long time)
--->当前线程休眠time长时间,并不释放锁。

四:interrupt()
--->线程对象a.interrupt():将a线程的中断标示位设置成true。
--->线程对象a.isInterrupted():获取a线程的中断标示位的值。
--->Thread.interrupted():返回当前线程的中断标示位的值,同时不管值是什么在返回前将该值设置为false;
--->当线程的中断标示位为true的时候,线程如果在wait().sleep().join()中阻塞时候,或者即将进入的时候,都会抛出InterruptedException异常,从阻塞状态中唤醒,并将状态位设置为false.

五:join()方法
--->在线程x的线程体中用线程a.join()时,则线程x的线程体就会阻塞到a.join()这句代码这,等待a线程的线程体运行完毕,线程x的线程体的代码才从a.join()这句代码开始往后执行。
--->join(long time):代表线程x会阻塞time秒时间,线程a运行正常,time秒后线程x开始从阻塞位置向下执行代码
--->底层是wait(),不考虑锁。

六:yeid()方法
--->那个线程调用此方法,那个线程暂时一次让出CPU调度权。至于能否暂停,实际看cpu是否将时间片分给其他的线程。我主动放弃一次,至于cpu走不走,看cpu的。


七:isAlive()方法
--->线程a.isAlive(),如果线程a的线程体还未执行完,则返回true,如果线程a的线程还未启动,活着线程体已经运行完,则返回false
--->来判断一个线程是否还活着

八:getstate()方法
--->获取线程的运行状态
--->NEW 新建状态
--->RUNNABLE 运行(可运行)状态
--->BLOCKED     阻塞状态
--->TIMED_WAITING     休眠状态
--->WAITING     等待状态
--->TERMINATED     终止状态

相关文章
|
6月前
|
Java API 数据处理
Java新特性:使用Stream API重构你的数据处理
Java新特性:使用Stream API重构你的数据处理
|
5月前
|
设计模式 网络协议 数据可视化
Java 设计模式之状态模式:让对象的行为随状态优雅变化
状态模式通过封装对象的状态,使行为随状态变化而改变。以订单为例,将待支付、已支付等状态独立成类,消除冗长条件判断,提升代码可维护性与扩展性,适用于状态多、转换复杂的场景。
525 0
|
6月前
|
Java 大数据 API
Java Stream API:现代集合处理与函数式编程
Java Stream API:现代集合处理与函数式编程
341 100
|
6月前
|
Java API 数据处理
Java Stream API:现代集合处理新方式
Java Stream API:现代集合处理新方式
353 101
|
6月前
|
并行计算 Java 大数据
Java Stream API:现代数据处理之道
Java Stream API:现代数据处理之道
347 101
|
6月前
|
安全 Java API
使用 Java 构建强大的 REST API 的四个基本技巧
本文结合探险领域案例,分享Java构建REST API的四大核心策略:统一资源命名、版本控制与自动化文档、安全防护及标准化异常处理,助力开发者打造易用、可维护、安全可靠的稳健API服务。
438 116
|
7月前
|
JSON Java API
【干货满满】分享京东API接口到手价,用Java语言实现
本示例使用 Java 调用京东开放平台商品价格及优惠信息 API,通过商品详情和促销接口获取到手价(含优惠券、满减等),包含签名生成、HTTP 请求及响应解析逻辑,适用于比价工具、电商系统集成等场景。
|
7月前
|
存储 Java API
Java Stream API:现代数据处理之道
Java Stream API:现代数据处理之道
421 188
|
7月前
|
存储 Java API
Java Stream API:现代数据处理之道
Java Stream API:现代数据处理之道
329 92
|
8月前
|
Oracle Java 关系型数据库
掌握Java Stream API:高效集合处理的利器
掌握Java Stream API:高效集合处理的利器
434 80