Java多线程常用方法
start()与run()
start() 启动线程并执行相应的run()方法
run() 子线程要执行的代码放入run()方法
getName()和setName()
getName() 获取此线程的名字
setName() 设置此线程的名字
isAlive()
是判断当前线程是否处于活动状态。活动状态就是已经启动尚未终止。
currentThread()
返回代码段正在被哪个线程调用
sleep()
主要的作用是让当前线程停止执行,把cpu让给其他线程执行,但不会释放对象锁和监控的状态,到了指定时间后线程又会自动恢复运行状态
注意:线程睡眠到期自动苏醒,并返回到可运行状态,不是运行状态。sleep()中指定的时间是线程不会运行的最短时间。因此,sleep()方法不能保证该线程睡眠到期后就开始执行
yield()
中文意思:放弃,屈服
一个线程调用yield()意味着告诉虚拟机自己非常乐于助人,可以把自己的位置让给其他线程(这只是暗示,并不表绝对)。但得注意,让出cpu并不代表当前线程不执行了。当前线程让出cpu后,还会进行cpu资源的争夺,但是能不能再次分配到,就不一定了
getPriority()和setPriority(int newPriority)
这两个方法是用于获取当前和设置线程的优先级。优先级高的线程得到的cpu多。也就是说,两个等待的线程,优先级高的线程容易被cpu执行。
默认情况下,线程的优先级是5。线程的优先级分为1~10等级。
getId()
取得线程唯一标识
yield()
yield() 暂停当前方法,释放自己拥有的CPU,线程进入就绪状态。
join()
所属线程对象x正常执行run,当前线程z无限等待直到执行完。常用于需要子线程的执行结果
interrupted()
interrupted()是静态方法:内部实现是调用的当前线程的isInterrupted(),并且会重置当前线程的中断状态
isInterrupted()是实例方法,是调用该方法的对象所表示的那个线程的isInterrupted(),不会重置当前线程的中断状态
它们的作用是判断线程是否是停止状态
isDaeMon、setDaemon(boolean on)
java线程有两种,一种是用户线程,一种是守护线程。守护线程是一个特殊的线程,任何一个守护线程都是jvm中所有非守护线程的保姆。当进程中不存在非守护线程时,守护线程会自动销毁。典型的守护线程就是垃圾回收线程。
第一个是判断线程是不是守护线程,第二个是设置线程为守护线程,必须在线程start之前setDaemon(true)。
stop()
强制停止,已废弃
可能释放锁导致数据不对。
可能导致清理工作做不好。
suspend和resume
暂停和恢复
会造成独占(永远的暂停)(方法)
造成不同步
Java多线程常用方法相关推荐
- Java多线程常用方法 wait 和 notify
一:从一道面试题说起 启动两个线程, 一个输出 1,3,5,7-99, 另一个输出 2,4,6,8-100 最后 STDOUT 中按序输出 1,2,3,4,5-100 要求用 Java 的 wait ...
- java多线程常用方法_Java多线程入门中几个常用的方法
一.currentThread()方法 currentThread方法就是返回当前被调用的线程. 该方法为一个本地方法,原码如下: /*** Returns a reference to the cu ...
- Java多线程常见面试题及答案汇总1000道(春招+秋招+社招)
Java多线程面试题以及答案整理[最新版]Java多线程高级面试题大全(2021版),发现网上很多Java多线程面试题都没有答案,所以花了很长时间搜集,本套Java多线程面试题大全,汇总了大量经典的J ...
- Java多线课程,java多线程课程.doc
java多线程课程.doc 还剩 9页未读, 继续阅读 下载文档到电脑,马上远离加班熬夜! 亲,喜欢就下载吧,价低环保! 内容要点: 如下:线程 A:休眠 10s线程 B:休眠 20s线程 C: 休眠 ...
- java多线程总结图_Java多线程总结之Queue
标签:多线程(52)JAVA(605) 上个星期总结了一下synchronized相关的知识,这次将Queue相关的知识总结一下,和朋友们分享. 在Java多线程应用中,队列的使用率很高,多数生产消费 ...
- Java实用教程笔记 Java多线程机制
Java多线程机制 泛型要考,后来又说不考了 多线程不考 12.1 进程与线程Process and Thread 12.2Java中的线程Threads in Java 线程的状态与生命周期The ...
- Java多线程——Thread Runnable源码解析
Java多线程的两种实现方法大家都应该知道了:继承Thread的子类实例化和实现Runnable接口用这个接口实现类去创建Thread实例. Java的线程在Linux平台上使用的是NPTL机制,JV ...
- 这是一个不完整的详细Java多线程,但对于初学者足够了,相信我,你会爱上她的
零基础学习之Java多线程 概述 线程的创建 继承Thread类 创建线程的步骤 线程的使用步骤 代码示例 实现Runnable接口 创建线程的步骤 线程的使用步骤 代码示例 使用匿名内部类创建线程 ...
- Java多线程干货系列—(一)Java多线程基础
前言 多线程并发编程是Java编程中重要的一块内容,也是面试重点覆盖区域,所以学好多线程并发编程对我们来说极其重要,下面跟我一起开启本次的学习之旅吧. 正文 线程与进程 1 线程:进程中负责程序执行的 ...
最新文章
- java 如何实现计数_如何高效的实现一个计数器map
- SQL2008学习小结
- Hive安装Version2.1.0
- Guava学习笔记 第6个记录(Immutable(不可变)集合)
- android 4k 测试图片,高端4K测试图助4K电视进“测一下”时代
- 人人开源(后台代码、前端项目、代码自动生成)
- 连接linux工具Mtr,Mac、linux和windows mtr路径探测工具安装使用
- 溯源项目(全套源码)
- C语言pow函数返回值一直是0
- 应用程序正常初始化000007b失败
- 电脑连上手机热点后上不了网
- IDEA去掉Performing Code Analysis,Check TODO
- 【python爬虫】学习笔记1-爬取某网站妹子图片
- 服务器硬盘灯不亮 阵列是正常的,服务器磁盘阵列出现故障有哪些解决办法?...
- 全国软考中级软件设计师 学习笔记-法律法规部分
- 从Page结构来看达梦数据库是不是纯自研
- 着手社区建设掌握的两个概念
- 保姆级Google谷歌浏览器安装路径从C盘转移
- 代码随想录算法训练营第七天
- 2005年最强简历模板、简历封面资源下载贴
热门文章
- python支持gui编程_Python GUI编程完整示例
- 用鼠标选择模型表面两点并连线
- mysql三大范式_MySQL学习笔记
- modf函数C语言,C / C ++中的modf()
- mysql 导致iis 假死_php使用MySql函数导致Apache(iis)崩溃的问题解决方案
- 神经网络与深度学习——TensorFlow2.0实战(笔记)(二)(包管理和环境管理)
- 【转】DICOM网络协议(一)概述
- Spring AOP(通知、连接点、切点、切面)
- C#进阶之WebAPI(三)
- java常见异常类图(分类了Error/RuntimeExecption、check Exception)