- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
让每一名学员高薪就业 解决 Java 多线程中 11 个常见问题 1、线程是什么? 简单来说,线程是进程中独立运行的子任务。 2、创建线程的方式 方式一:将类声明为 Thread 的子类。该子类应重写 Thread 类的 run 方法 方式二:声明实现 Runnable 接口的类。该类然后实现 run 方法 推荐方式二,因为接口方式比继承方式更灵活,也减少程序间的耦合。 3、获取当前线程信息? Thread.currentThread() 4 、线程的分类 线程分为守护线程、用户线程。线程初始化默认为用户线程。 setDaemon(true) 将该线程标记为守护线程或用户线程。 特性: 设置守护线程,会作为进程的守护者, 如果进程内没有其他非守护线程,那么守护线 程也会被销毁,即使可能线程内没有运行结束。 5、线程的生命周期 线程是一个动态执行的过程,它也有一个从产生到死亡的过程。生命周期的五种状态: 新建( new Thread ):当创建 Thread 类的一个实例(对象)时,此线程进入新建状态(未 被启动)。 例如: Thread t1=new Thread(); 就绪( runnable ):线程已经被启动,正在等待被分配给 CPU时间片,也就是说此时线程正 在就绪队列中排队等候得到 CPU资源。例如: t1.start(); 运行( running ):线程获得 CPU资源正在执行任务( run() 方法),此时除非此线程自动放 弃 CPU资源或者有优先级更高的线程进入,线程将一直运行到结束。 死亡( dead):当线程执行完毕或被其它线程杀死,线程就进入死亡状态,这时线程不可能 再进入就绪状态等待执行。 堵塞( blocked ) :由于某种原因导致正在运行的线程让出 CPU并暂停自己的执行,即进入 堵塞状态。 6、线程间的关系? 某线程 a 中启动另外一个线程 t ,那么我们称 线程 t 是 线程 a 的一个子线程, 而 线程 a 是 线程 t 的 父线程。 最典型的就是我们在 main 方法中 启动 一个 线程去执行。 其中 main 方法隐含的 main 线程 为父线程。 7、线程 API 一览:如何启动、停止、暂停、恢复线程? (1)start() 使线程处于就绪状态, Java 虚拟机会调用该线程的 run 方法; (2 )stop() 停止线程,已过时,存在不安全性,原因如下: 一是可能请理性的工作得不得完成; 二是可能对锁定的对象进行“解锁”,导致数据不同步不一致的情况。 推荐 使用 interrupt() + 抛异常 中断线程。 (3 )yield() 线程礼让, 放弃当前线程的 CPU资源。放弃时间不确认, 也有可能刚刚放弃 又获得 CPU资源。 (4 )t.join() 正在执行 t.join() 语句的线程等待 t 线程运行完终止。 让每一名学员高薪就业 8、synchronized 关键字用法 一 原子性 (互斥性):实现多线程的同步机制,使得锁内代码的运行必需先获得对应的锁, 运行完后自动释放对应的锁。 二 内存可见性 :在同一锁情况下, synchronized 锁内代码保证变量的可见性。 三 可重入性 :当一个线程获取一个对象的锁,再次请求该对象的锁时是可以再次获取该对 象的锁的。 如果在 synchronized 锁内发生异常,锁会被释放。 总结: (1)synchronized 方法 与 synchronized(this) 代码块 锁定的都是当前对象,不同 的只是同步代码的范围 (2 )synchronized ( 非 this 对象 x) 将对象 x
您可能关注的文档
最近下载
- 2025金华义乌市机关事业单位编外招聘7人笔试备考试题及参考答案详解一套.docx VIP
- 辽宁省名校联盟2024-2025学年高一上学期12月联合考试英语试卷(含答案).docx VIP
- 应急类建筑工程建设管理分析.docx VIP
- 2025至2030中国装配式建筑行业市场深度调研及发展趋势与行业市场深度研究与战略咨询分析报告.docx
- 四川拟任县处级党政领导职务政治理论水平任职资格考试模拟题第一套.pdf VIP
- 项目技术管理标准化手册.docx VIP
- 离线论文关于科学思维方法在实际生活和工作中的应用、意义.pptx VIP
- 铁道车辆机械装置检修 货车弹簧减振装置 钢制弹簧.pptx VIP
- 2025金华东阳市部分机关事业单位编外招聘83人(一)笔试备考题库及参考答案详解一套.docx VIP
- (高清版)C-J∕T 189-2007 钢丝网骨架塑料(聚乙烯)复合管材及管件.pdf VIP
有哪些信誉好的足球投注网站
文档评论(0)