一, 线程的生命周期
1. Wating state
一旦线程被构造, 但是还没有执行任何代码, 那么它就处于 waiting state, 其他的线程可以与之交互, 还可以设置不同的属性, 如priority, name, daemon status 等.
一旦一个线程 处于 waiting, 它的state 可以被其他的 线程 所改变
2. Alive state
如果线程的start() 方法被调用, 则线程可能正在运行状态中, 可以调用isAlive方法进行判断
3. Terminating Thread
在run() 执行完后, 线程会结束掉
当然我们可以调用System.exit() 方法 强制结束掉程序.
run() 抛出的unchecked Excpetion.
4. stop, suspending, resuming Thread
stop, suspend(), resume() 方法已经废弃掉
sleep() 方法可以暂停当前线程的执行
5. Thread Cleanup
join() 一直柱塞 直到run() 执行完后.
2.4 结束线程的两种方式
1. 设置一个内部结束的标志
2. 调用interrupt() 方法, 他有两个效果,
a. 是 导致所有的bocked 方法抛出interruptedExeption
b. 设置一个线程内部标志, 标示线程已经 interrupted.
分享到:
相关推荐
"Java常用代码整理"这个主题涵盖了Java开发中的诸多常见技术点和实用代码片段,旨在帮助开发者提升工作效率。以下是对这些知识点的详细阐述: 1. **基础语法**:Java的基础语法包括数据类型(如整型、浮点型、字符...
"140个java源码实例源码整理"这个资源集合显然提供了大量的Java编程示例,可以帮助初学者和经验丰富的开发者深入理解Java的核心概念以及实际应用。 首先,Java源码实例是学习编程的重要途径,它们提供了实际的代码...
### JAVA面试题整理知识点 #### 一、Java基础知识 1. **Java基本数据类型** - Java的基本数据类型包括:byte、short、int、long、float、double、char、boolean。 - `String` 不是基本数据类型,它是引用类型。...
在马士兵的JAVA视频教程中,他不仅详细讲解了JAVA的基础知识,比如变量、循环、分支结构、数组、常用类等,还对I/O Stream、Collection/Generic、Thread、TCP/UDP等更深层次的概念进行了深入探讨。这些基础知识的...
4. **多线程**:Java提供了丰富的多线程支持,包括Thread类、Runnable接口、synchronized关键字、volatile关键字、Lock接口等。面试时可能涉及线程同步、线程安全、死锁等问题。 5. **异常处理**:Java中的try-...
"Java实用源码整理"部分可能包含一些常见的实用代码片段,例如: 1. **设计模式**:工厂模式、单例模式、观察者模式、装饰者模式等常见设计模式的实现。 2. **算法实现**:排序算法(快速排序、归并排序、冒泡排序...
"JAVA核心知识点整理大全.zip"这个压缩包很可能包含了对Java语言基础到高级特性的全面总结,是学习和复习Java编程的理想资源。以下是根据描述可能涵盖的一些关键Java知识点的详细解析: 1. **基础语法**:包括变量...
文件 "2011最新整理java经典代码.doc" 可能是一个Microsoft Word文档,里面包含了精心编排的Java代码片段和相关的解释说明。 在Java编程中,经典代码通常涉及以下几个核心概念: 1. **基础语法**:包括数据类型...
在Java编程中,有很多常见的代码片段和模式,这些是开发者在日常工作中经常遇到并需要掌握的。以下是一些基于Java常用代码的知识点: 1. **异常处理**:Java通过`try-catch-finally`结构来处理程序运行时可能出现的...
### JAVA基础面试题大全整理版本 #### 一、前言 在Java领域内,无论是初学者还是资深开发者,面试都是通往下一个职业阶段的关键步骤。本文档旨在为求职者提供一份全面且实用的Java基础面试题汇总及解答指南,旨在...
Java自学考试用试卷是针对那些希望通过自我学习提升Java编程技能并准备相关考试的朋友们精心整理的资源。这些试卷涵盖了从基础语法到高级特性的广泛知识领域,旨在帮助学习者全面了解和掌握Java语言的核心概念。 ...
以下是根据文档提供的内容,整理出的知识点: 1. Java线程堆栈分析 - 内存泄露定位:内存泄露指的是程序在分配了内存之后,由于某些原因未能释放已不再使用的内存,导致内存持续消耗而无剩余。定位内存泄露通常...
这个收藏可能是一个程序员或教育者整理的精选Java代码片段,用于教学、研究或者个人项目参考。通过深入分析其中的代码,我们可以学习到Java语言的各种核心概念和技术。 在Java编程中,有几个重要的知识点是每个...
首先,从给出的内容片段中可以识别出一些与Java编程相关的知识点: 1. Java线程的生命周期:提及了Thread类的start()、run()和exit()方法,这些方法涉及线程的启动、执行和结束过程。而getPriority()方法用于获取...
在Java编程语言中,"小例子"通常是指用于学习和理解特定概念或功能的简单代码片段。这些小例子是初学者和经验丰富的开发者都经常使用的工具,帮助他们快速上手和掌握新技能。在这个名为"java代码整理"的压缩包中,...
`Thread概念整理.doc`文档很可能包含了线程的基本概念,例如:线程的生命周期(新建、可运行、运行、阻塞、死亡)、线程的同步与通信(如`synchronized`关键字、wait()、notify()和notifyAll()方法)、线程的中断和...
关于Java面试32问的PDF文件,虽然提供的内容片段存在一些OCR扫描错误和格式问题,我们仍然可以从这些碎片信息中提取出一些重要的知识点。由于内容重复性较高,我将尽量避免重复内容,专注于不同知识点的解释和讨论。...
- `java.lang.Thread`: Java的线程类,可以用来创建并运行线程。 - 线程的创建和启动:通过继承`Thread`类或实现`Runnable`接口,然后创建对象并调用`start()`方法来启动线程。 - 线程同步:使用`synchronized`...
3. **多线程**:Java提供了内置的多线程支持,包括Thread类和Runnable接口。面试者需要了解并发概念,如同步机制(synchronized关键字、wait/notify、Lock接口)、线程池(ExecutorService)以及死锁、活锁和饥饿...
"Java常用代码大全.7z"这个压缩包很可能是为了帮助开发者收集和整理了一系列常见的Java编程代码片段,以便在开发过程中快速参考和使用。文档中的内容可能涵盖了各种Java编程的基础到进阶知识点。 在Java编程中,...