day59 线程

创建线程的第二种方式

        实现接口Runnable 重写run方法

创建线程的第三种方式

        java.util.concurrent下的Callable重写call()方法

        java.util.concurrent.FutureTask

        创建线程类对象

        获取返回值

线程的四种生命周期

线程的优先级1-10

        default为5,优先级越高,越有概率先抢占cpu,越可能先死亡

        setPriority(int) 设置线程优先级

        getPriority()获取线程优先级

设置线程为守护线程

        isDaemon(true);

        必须写在线程启动之前 否则当前执行线程出现IllegalThreadStateException

        给用户线程提供服务

        当正在运行的线程都是守护线程时,Java虚拟机退出。

线程调度的方法

      Thread.  sleep()          在指定的毫秒数内让指定的线程休眠

        interrupt()  中断线程的当前状态;

       Thread. yield()结束运行状态 回到就绪状态 让出cpu的时间切片

        join() a线程等待b线程 在a线程 中调用b.join()方法

多线程时对同一对象进行操作时,出现并发问题

 怎么实现线程的同步

        给多线程要操作的同一对象的代码进行加锁synchronized

        一个方法的代码都需要同步,同时使用的锁对象为同一个this,可以将方法声明为同步方法

                语法: 访问修饰符  synchronized 返回值类型 方法名(参数){代码块;}

        jdk5:Lock对象:作为锁对象 保证多个线程使用的为同一个Lock对象

                void lock()获取锁

                void unlock()释放锁

                两个方法间为加锁的内容

        

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/732432.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于梯度统计学的渐变型亮缝识别算法

作者:翟天保Steven 版权声明:著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处 一、场景痛点 在图像处理相关的实际工程中,会出现各式各样的现实复杂问题,有的是因为机械设计导致&#x…

【洛谷 P8668】[蓝桥杯 2018 省 B] 螺旋折线 题解(数学+平面几何)

[蓝桥杯 2018 省 B] 螺旋折线 题目描述 如图所示的螺旋折线经过平面上所有整点恰好一次。 对于整点 ( X , Y ) (X, Y) (X,Y),我们定义它到原点的距离 dis ( X , Y ) \text{dis}(X, Y) dis(X,Y) 是从原点到 ( X , Y ) (X, Y) (X,Y) 的螺旋折线段的长度。 例如 …

新手做抖音小店,一定要避坑的五件事,非常重要!

大家好,我是电商糖果 现在做抖音小店已经进入一个稳定期,商家只要掌握正确的做店流程,然后把选品做好。 就可以将店铺做起来。 但这一切的前提是我们用对方法,这个很关键,因为这决定了你后面店铺的发展。 这篇文章…

蓝桥杯练习系统(算法训练)ALGO-981 过河马

资源限制 内存限制:256.0MB C/C时间限制:1.0s Java时间限制:3.0s Python时间限制:5.0s 问题描述 在那个过河卒逃过了马的控制以超级超级多的走法走到了终点之后,这匹马表示它不开心了……   于是&#xff0c…

C++、MFC中操作excel时,CRange中get_Rows()、get_Columns()及get_Count()函数的用法及区别是什么?

在C、MFC中操作Excel时,CRange类中的get_Rows()、get_Columns()和get_Count()函数都是用于获取指定范围的行数、列数或单元格数量的函数,但它们的具体用法和区别如下: get_Rows() 用法:LPDISPATCH get_Rows();功能:返回…

Java教程:RabbitMq讲解与SpringBoot项目如何对接RabbitMq实现生产者与消费者

在往期文章中,我们讲了如何在Windows与Linux环境下安装RabbitMq服务,并访问Web管理端。 有很多同学其实并不知道RabbitMq是用来干嘛的,它起到一个什么作用,并且如何在常见的SpringBoot项目中集成mq并实现消息收发,本章…

Nginx实现高并发

注:文章是4年前在自己网站上写的,迁移过来了。现在看我之前写的这篇文章,描述得不是特别详细,但描述了Nginx的整体架构思想。如果对Nginx玩得透得或者想了解深入的,可以在网上找找其他的文章。 ......................…

day17_订单(结算,提交订单,支付页,立即购买,我的订单)

文章目录 订单模块1 结算1.1 需求说明1.2 获取用户地址1.2.1 UserAddress1.2.2 UserAddressController1.2.3 UserAddressService1.2.4 UserAddressMapper1.2.5 UserAddressMapper.xml 1.3 获取购物项数据1.3.1 CartController1.3.2 CartService1.3.3 openFeign接口定义 1.4 环境…

NIFI从Oracle11G同步数据到Mysql_亲测可用_解决数据重复_数据跟源表不一致的问题---大数据之Nifi工作笔记0065

首先来看一下整体的流程: 可以看到了用到了上面的这些处理器,然后我们主要看看,这里之前 同步的时候,总是出现重复的数据,奇怪. 比如源表中只有166条数据,但是同步过去以后变成了11万条数据了. ${db.table.name:equals(table1):or(${db.table.name:equals(table2)})} 可以看…

【精选好刊】JCR2区SCI仅17天上线见刊,最后10篇版面!

录用案例 JCR2区地质环境类SCI&EI (进展顺) 【期刊简介】IF:3.0-4.0,JCR2区,中科院3/4区; 【检索情况】SCI&EI双检; 【征稿领域】地球观测、环境监测和管理相关或结合研究均可; 【案例分享】重…

[数据集][目标检测]遥感图像游泳池检测数据集VOC+YOLO格式288张1类别

数据集格式:Pascal VOC格式YOLO格式(不包含分割路径的txt文件,仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数):288 标注数量(xml文件个数):288 标注数量(txt文件个数):288 标注类别…

前端面试练习24.3.8

防抖和节流 防抖(Debouncing): 防抖是指在短时间内连续触发同一事件时,只执行最后一次触发的事件处理函数。 在实际应用中,常常用于处理用户输入的搜索框或者滚动事件。例如,当用户连续输入搜索关键词时&am…

macos系统中redis如何设置密码

在 macOS 上设置 Redis 密码的步骤与在其他操作系统上大致相同,关键是要找到并编辑 Redis 配置文件,然后重启 Redis 服务。以下是详细步骤: 找到 Redis 配置文件:如果你是通过 Homebrew 安装的 Redis,配置文件通常位于…

业务代码中如何使用装饰器模式?

装饰器模式(Decorator Pattern)介绍 装饰器模式(Decorator Pattern)是一种结构型设计模式,我们可以动态地给一个对象添加额外的职责。而不是通过继承增加子类的方式来扩展对象的功能,装饰器模式使用组合的…

[N1CTF 2018]eating_cms 不会编程的崽

题倒是不难,但是实在是恶心到了。 上来就是登录框,页面源代码也没什么特别的。寻思抓包看一下,数据包直接返回了sql查询语句。到以为是sql注入的题目,直到我看到了单引号被转义。。。挺抽象,似乎sql语句过滤很严格。又…

Java基础知识点之思维导图

一、走进Java编程世界 二、变量常量和运算符 三、if选择结构 四、switch选择结构 五、while循环结构 六、for循环结构 七、数组 八、类与对象 九、深入循环结构 十、类的无参方法 十一、类的带参方法 十二、字符串

读已提交隔离级别下竟然有间隙锁

业务背景 广告主痛点的为进行一次全媒体联合投放,若投放10个媒体,需要制作和上传10个创意、50张不同尺寸和出血区要求的图片和视频素材、近100个元素,投放成本极高。这也是制约部分用户使用新产品投放的原因。 因此进行升级。以三个创意为例…

Prometheus添加nginx节点显示不支持stub_status 解决办法

1、我们在使用Prometheus监控添加nginx节点监控的时候,在被监控节点的nginx配置文件中添加下面的模块 server { listen 80; server_name localhost; location /stub_status { stub_status on; access_log off; …

微服务技术栈SpringCloud+RabbitMQ+Docker+Redis+搜索+分布式(四):消息队列MQ

文章目录 一、消息队列MQ二、RabbitMQ2.1 单机部署2.2 消息模型 三、SpringAMAP3.1 简单消息队列3.2 工作消息队列3.3 发布-订阅模型:FanoutExchange 广播交换机3.4 发布-订阅模型:DirectExchange 路由交换机3.5 发布-订阅模型:TopicExchange…

Day29:安全开发-JS应用DOM树加密编码库断点调试逆向分析元素属性操作

目录 JS原生开发-DOM树-用户交互 JS导入库开发-编码加密-逆向调试 思维导图 JS知识点: 功能:登录验证,文件操作,SQL操作,云应用接入,框架开发,打包器使用等 技术:原生开发&#x…