当前位置: 首页 > news >正文

重学java 45.多线程 下 总结 定时器_Timer

人开始反向思考

            —— 24.5.26

定时器_Timer

1.概述:定时器

2.构造:

        Timer()

3.方法:

        void schedule(TimerTask task, Date firstTime, long period)

                task:抽象类,是Runnable的实现类
                firstTime:从什么时间开始执行
                period:每隔多长时间执行一次,设置的是毫秒值

package S82ThreadTimer;import java.util.Date;
import java.util.Timer;
import java.util.TimerTask;public class Demo222Timer {public static void main(String[] args) {Timer timer = new Timer();timer.schedule(new TimerTask() {@Overridepublic void run() {System.out.println("一切都会好的 我一直相信");}},new Date(),2000L);}
}

总结

等待唤醒

        wait()

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

        notify()

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

        notifyAll()

                 唤醒所有等待的线程

Lock锁

        1.概述 — 接口

        2.使用

                a.获取 — ReentrantLock

                b.方法               

                        lock() 获取锁

                        unlock() 释放锁

Callable

        1.概述

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

        2.方法 -- call()

                设置线程任务,类似于run方法
                可以throws异常,还有返回值

线程池

        1.概述

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

        2.获取

                static ExecutorService

                newFixedThreadPool(int nThreads)

        3.执行线程任务

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

        4.返回值

                Future接囗 — Vget() 用于获取call方法返回值

        5.关闭线程池

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

http://www.lryc.cn/news/353568.html

相关文章:

  • MongoDB(介绍,安装,操作,Springboot整合MonggoDB)
  • 【数字移动通信】期末突击
  • 数据库(5)——DDL 表操作
  • 【Java EE】网络协议——HTTP协议
  • Docker提示某网络不存在如何解决,添加完网络之后如何删除?
  • C++ 红黑树
  • PTA 6-4 配对问题
  • sklearn基础教程
  • MySQL入门学习-查询进阶.别名
  • 【Rust日报】嵌入式 Rust:一份简化指南
  • Web课外练习9
  • rtsp协议分析
  • Spring Web MVC(2)
  • Python-图片旋转360,保存对应图片
  • JavaSE——集合框架二(1/6)-前置知识-可变参数、Collections工具类
  • 我用LLaMA-Factory微调大模型来实现商品评论情感分析,准确率高达91.70%
  • 四大进制--详解--以及进制转换规则
  • 谈谈API和人工智能领域的开发和使用以及AI大模型开发进程。
  • 用Python Pygame做的一些好玩的小游戏
  • 【吊打面试官系列】Java高并发篇 - ThreadLocal 是什么?有什么用?
  • Spring MVC的数据转换及数据格式化:java 转换器接口(将一种类型的对象转换为另一种类型及其子类对象)
  • 【开源】多语言大型语言模型的革新:百亿参数模型超越千亿参数性能
  • DDL—表—数据类型—日期时间类型相关语法
  • Ant Design pro 6.0.0 搭建使用以及相关配置
  • Vue生命周期钩子是如何实现的
  • 002 仿muduo库实现高性能服务器组件_整体框架
  • 车道线识别与预警系统LDWS(代码+教程)
  • Python基础学习笔记(七)——元组
  • 安卓开发:相机水印设置
  • Excel工作表单元格单击选中事件,VBA动态数值排序