首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
AI 模拟面试
简历
求职
学习
课程
专栏·文章
竞赛
搜索
我要招人
发布职位
发布职位、邀约牛人
更多企业解决方案
在线笔面试、雇主品牌宣传
登录
/
注册
大萝卜小萝卜
2016-09-14 18:08
已编辑
Java
关注
已关注
取消关注
问个JAVA关于interrupt问题 昨天面试的
interrupt 底层实现有看过吗?线程的状态是怎么样的?如果给你实现会怎么样做?
我只会第一问,后面的 线程的状态是怎么样的?如果给你实现会怎么样做?实在不会,有没有同学给解释下
#Java工程师#
提示
全部评论
推荐
最新
楼层
永不言弃+1
Java
楼上有的人技术还是很浮躁啊,中断只是一个标志位,JDK源码有明确表示,sleep,io等中断之后会抛出异常,然后中断位会被立即修复,改变了标志位,需要自己去判断。真正的中断机制LockSupport的park来支持,这个在 java并发包下,所以多看看源码
点赞
送花
回复
分享
发布于 2016-09-13 21:17
seeme
Java
这个不就是JAVA的中断机制嘛,调用函数仅仅是改变一个线程的标记值而已,如果需要中断,还要自己去写逻辑,判断这个标记值
点赞
送花
回复
分享
发布于 2016-09-13 19:51
秋招专场
校招火热招聘中
官网直投
只想码代码的打铁工。
Java
学了一点线程知识,下面说的比较浅。楼主再找知识看看吧 调用interrupt()方法后,线程中断状态将会被置位。但这只是一个标志位,一般线程会将中断看做是终止的请求,被中断的线程可以决定如何响应中断。如果线程被阻塞,就无法检测中断状态,将产生InterruptedException一场。 判断线程是否中断,有两个方法,一个是Tread的静态方法interrupted(),但调用这个方***使线程中断状态重置为false;另一个方法是isInterrupted()方法。 为了确保调用interrupt()方法后,线程能够退出,可以采用双重安全退出机制,以isInterrupted状态(而不是isInterrupted())作为线程循环或者执行的条件,在interrupt()方法中,对isInterrupted状态进行设置,并在退出后,将isInterrupted进行重置。
点赞
送花
回复
分享
发布于 2016-09-13 20:04
大萝卜小萝卜
楼主
Java
interrupt()的作用是中断本线程。 本线程中断自己是被允许的;其它线程调用本线程的interrupt()方法时,会通过checkAccess()检查权限。这有可能抛出SecurityException异常。 如果本线程是处于阻塞状态:调用线程的wait(), wait(long)或wait(long, int)会让它进入等待(阻塞)状态,或者调用线程的join(), join(long), join(long, int), sleep(long), sleep(long, int)也会让它进入阻塞状态。若线程在阻塞状态时,调用了它的interrupt()方法,那么它的“中断状态”会被清除并且会收到一个InterruptedException异常。例如,线程通过wait()进入阻塞状态,此时通过interrupt()中断该线程;调用interrupt()会立即将线程的中断标记设为“true”,但是由于线程处于阻塞状态,所以该“中断标记”会立即被清除为“false”,同时,会产生一个InterruptedException的异常。 如果线程被阻塞在一个Selector选择器中,那么通过interrupt()中断它时;线程的中断标记会被设置为true,并且它会立即从选择操作中返回。 如果不属于前面所说的情况,那么通过interrupt()中断线程时,它的中断标记会被设置为“true”。 中断一个“已终止的线程”不会产生任何操作。
点赞
送花
回复
分享
发布于 2016-09-16 19:42
秋招专场
校招火热招聘中
官网直投
相关推荐
一定可以找到实习的瓜友
05-31 08:57
已编辑
西北工业大学 计算机类
2024-05-30华为一面+主管面
华为一面 0.复述笔试没写完的那道题目 1.项目中为啥用redis,为啥不把数据直接放在内存? 2.介绍一下项目中用到的RBAC权限模型 3.项目中用到redis的分布式锁,介绍一下 4.可重入锁谈谈理解 5.Synchronized与ReentrantLock区别 6.文字描述比较乱,直接图片描述,问的是主线程能否通过修改flag的值,让子线程结束运行?底层原理加如何实现主线程修改值,让子线程结束运行。 7.实现多线程的方式有哪些? 8.Thread实现多线程,直接调用run方法可以吗?调用哪个方法?start方法的底层原理? 9.Runnable方法如何实现多线程 10.线...
查看19道真题和解析
点赞
评论
收藏
转发
我是温富鑫
05-27 21:06
已编辑
广州软件学院 计算机类
广州亚信校招 一面 面经 5.27
-40min项目相关lua脚本自己写的吗?讲一下你说的tcp等待连接,cpu飙升问题缓存击穿,缓存穿透,缓存雪崩,你项目怎么解决的jvm的调优 写文档你们怎么沟通的? ES分词场景题什么情况慢sql,你怎么解决的。如果在非阻塞情况下,大量查询数据,且有连索引的情况下,还是出现慢sql,怎么解决部署过服务器吗?redis有部署过吗?用过redis吗?怎么查的?Linux常用的命令?八股文java的面向对象的特征jvm垃圾回收器,垃圾算法hashmap和hashtable区别? hashmap扩容底层 红黑树是jdk几的特性?反问我今天的表现公司的业务,我可以学到什么?半HR面可以实习多久...
查看19道真题和解析
点赞
评论
收藏
转发
在投简历的莲雾很爱吃鸡腿
05-29 16:20
已编辑
贵州师范学院 音乐与舞蹈学类
俺真的要碎掉了,工作为啥这么难 #我的求职思考#
我的求职思考
点赞
评论
收藏
转发
鱼大姐想要offer
05-27 14:29
蔚来_数据产品经理(准入职员工)
蔚来汽车25届提前批内推
【NIO新能源汽车明星品牌———蔚来2024届校园招聘内推!】【招聘岗位】:6大类IT技术类、产品类、运营类、米哈游、职能/行政/财会类、公关/市场/营销类、生产/制造/研发类【工作城市】:北京、上海、广州、深圳、成都、武汉等新一线城市皆有岗位在招。【内推链接】https://nio.jobs.feishu.cn/s/i2K7ebFF【内推码】R6D4SHC(内推简历优先筛选~)还有HC,不限学校,不限学历,抓紧投递!评论回复【姓名缩写 岗位】 能捞就捞,尽量保证不石沉大海。
投递蔚来等公司10个岗位 >
点赞
评论
收藏
转发
点赞
11
评论
分享
回复帖子
提到的真题
返回内容
招聘动态
查看更多
博士生招聘专场开启啦
全站热榜
1
...
给你们预测一下今年的秋招!
3141
2
...
海康暑期实习
2382
3
...
【🎁】25届硬件牛牛互助计划(1期)
2353
4
...
阿里体检完还没发正式offer
2325
5
...
深圳蟑螂真的很可怕吗
2149
6
...
5.31拼多多服务端开发实习生一面(75min)
2006
7
...
毕业了!
1886
8
...
拿了蓝桥杯c++b组国二,水平怎么样,找后端开发工作有多大优势?
1834
9
...
momenta 实习 C++ 一面
1769
10
...
大佬们帮选一下offer
1570
正在热议
#
和牛牛一起刷题打卡
#
13904次浏览
1283人参与
#
通信硬件薪资爆料
#
256111次浏览
2411人参与
#
不去互联网可以去金融科技
#
4092次浏览
57人参与
#
牛客帮帮团来啦!有问必答
#
1093347次浏览
16326人参与
#
面试被问第一学历差时该怎么回答
#
18261次浏览
199人参与
#
简历中的项目经历要怎么写?
#
14288次浏览
191人参与
#
工作两年想退休了
#
19273次浏览
240人参与
#
实习生应该准时下班吗
#
93245次浏览
705人参与
#
你收到了团子的OC了吗
#
530775次浏览
6296人参与
#
简历中的项目经历要怎么写
#
482062次浏览
8763人参与
#
简历无回复,你会继续海投还是优化再投?
#
23474次浏览
329人参与
#
你已经投递多少份简历了
#
338542次浏览
4905人参与
#
你怎么评价今年的春招?
#
12448次浏览
193人参与
#
晒一晒我的offer
#
3771057次浏览
58072人参与
#
担心入职之后被发现很菜怎么办
#
39595次浏览
328人参与
#
我想象的工作vs实际工作
#
105762次浏览
1700人参与
#
我的上岸简历长这样
#
202452次浏览
4098人参与
#
本周投递记录
#
220965次浏览
5378人参与
#
硬件人的简历怎么写
#
81832次浏览
849人参与
#
产品人求职现状
#
56847次浏览
823人参与
#
2022毕业生求职现身说法
#
23630次浏览
338人参与
牛客网
牛客企业服务