Java -- (part17)

news/2024/10/19 11:38:05/

一.等待唤醒

wait():线程等待,等待的过程中,释放锁,需要其他线程用notify去唤醒

notify():唤醒一个等待的线程,如果有多个线程等待,随机一条唤醒

notifyAll():唤醒所有等待的线程

二.Lock锁

1.概述

接口

2.使用

a.获取:ReentrantLock

b.方法

lock():获取锁

unlock():释放锁

三.Callable

1.概述

接口,类似于Runnable,是实现多线程的第三种方法

2.方法:call()

设置线程任务,类似于run方法

可以throw异常,还有返回值

四.线程池

1.概述

容器中有多条线程对象,来了线程任务,直接从线程池中获取线程对象,用完还回去

2.获取

java">static ExecutorService
newFixedThreadPool(int nThreads)

3.执行

Future<?> submit(Runnable task):提交一个Runnable任务用于执行

Future<T> submit(Callable<T> task):提交一个Callable任务用于执行

4.返回值:Future接口

V get() 用于获取call方法返回值

5.关闭线程池

void shutdown():启动有序关闭,其中先前提交的任务将被执行,但不会接受任何新任务


http://www.ppmy.cn/news/1432814.html

相关文章

android 接收到的json字段为null处理

1. 接收到JSON数据 首先&#xff0c;我们需要在Android应用中接收到一个包含JSON数据的字符串。可以使用以下代码将JSON字符串转换为JSONObject对象&#xff1a; String jsonString "Your JSON String"; JSONObject jsonObject new JSONObject(jsonString); 2. 解…

力扣HOT100 - 2. 两数相加

解题思路&#xff1a; 缺位的节点进行补零处理&#xff0c;如97323补充为973023 注意相加的进位问题 class Solution {public ListNode addTwoNumbers(ListNode l1, ListNode l2) {ListNode head null, tail null;int carry 0;while (l1 ! null || l2 ! null) {int n1 l…

mkdir: ‘/opt/hdfsDep‘: Input/output error

执行hdfs dfs -mkdir -p /opt/hdfsDepo时&#xff0c;报错&#xff1a;mkdir: /opt/hdfsDep: Input/output error&#xff0c;应该是配置文件的问题。 参考文章Spark Standalone模式部署-CSDN博客第三章&#xff0c;安装配置好hadoop&#xff0c;并启动&#xff0c;再次执行上…

easyui datagrid单元格点击进入编辑时,行会自动向上错位

现象描述&#xff0c;点击第20行可编辑的单元格进入编辑状态时&#xff0c;滚动条自动滚动到第19行了。导致第20行被分页遮挡&#xff0c;看不到无法编辑。 排查了一天百度AI说是滚动定位问题&#xff0c;最后发现是自己设置的列有问题&#xff0c;表格总共五列&#xff0c;全…

儿童悬吊训练系统都有哪些锻炼形式

儿童悬吊训练作为一种创新的儿童训练方法&#xff0c;旨在结合儿童的身心发展特点&#xff0c;通过儿童悬吊系统的巧妙运用&#xff0c;达到提升儿童各项功能能力的目的。治疗师在运用悬吊系统对儿童进行训练时&#xff0c;必须紧密结合儿童的发育规律与自身功能水平&#xff0…

快速删除node_modules依赖包的命令rimraf

1、安装rimraf npm install -g rimraf 2、使用命令删除node_modules rimraf node_modules *** window系统&#xff0c;使用命令很快就删除node_modules ***

flutter 点击按钮限流方案

文章目录 前言一、理解限流的思想二、flutter实现代码如下&#xff1a;总结 前言 最近写flutter项目&#xff0c;遇到提交表单重复点击问题&#xff0c;下面是解决方案&#xff0c;希望帮助到大家。 一、理解限流的思想 1、限流思想 限流&#xff08;Throttle&#xff09; 限…

Spring(下)

接上篇&#xff0c;从第八个问题讲起 八.Spring工厂创建复杂对象 1.什么是复杂对象 简单对象就是可以直接new出来的&#xff0c;也就是直接调用构造方法创建 所以复杂对象就是不能直接通过调用构造方法创建。就比如JDBC中的Connection 2.三种方法 &#xff08;1&#xff…