isActive() 用来判断一个线程是不是活动的。
join()等待指定的线程运行结束。join()方法实现了sleep()和isActive()方法所完成的功能。
setName(String name)线程命名。
static Thread currentThread() 获取当前运行线程的Thread对象。
Thread th[] = new Thread[Thread.activeCount()]//Thread.activeCount()获取程序中线程数量
Thread.enumerate(th);//程序中所有的线程。
当以个线程被停止后,线程对象的状态就被设为不能再重新启动,一个线程实例只能用一次。
一个线程结束实际需要一段时间。在停止过程中调用start()方法会引发异常,真正停止后则不会。
BusyFlag类:忙标志。(synchronized ;将方法声明为同步的,确保获取该方法前必须获取该方法的对象锁)
public class BusyFlag {
protected Thread busyflag = null;
protected int busycount = 0;
public synchronized void getBusyFlag() {
while (tryGetBusyFlag() == false) {
try {
wait();
} catch (Exception e) {}
}
}
public synchronized boolean tryGetBusyFlag() {
if (busyflag == null) {
busyflag = Thread.currentThread();
busycount = 1;
return true;
}
if (busyflag == Thread.currentThread()) {
busycount++;
return true;
}
return false;
}
public synchronized void freeBusyFlag() {
if (getBusyFlagOwner() == Thread.currentThread()) {
busycount--;
if (busycount == 0) {
busyflag = null;
notify();
}
}
}
public synchronized Thread getBusyFlagOwner() {
return busyflag;
}
}
wait()等待某条件的发生。
notify()通知线程等待的条件已经发生。
notifyAll()当条件满足时,通知所有线程。
interrup()向一个指定的线程发出中断信号。
分享到:
相关推荐
Java多线程笔记 Java多线程笔记是 Java 编程语言中关于多线程编程的笔记,涵盖了线程基础知识、线程优先级、线程状态、守护线程、构造线程、线程中断等多方面的内容。 获取简单 main 程序中的线程 在 Java 中,...
Java线程的知识点总结。doc
花费了一上午的时候 写了一些demo。认识到四种线程池的区别。上传到csdn 供以后学习
Java 线程学习笔记 Java 线程创建有两种方法: 1. 继承 Thread 类,重写 run 方法:通过继承 Thread 类并重写 run 方法来创建线程,这种方法可以使线程具有自己的执行逻辑。 2. 实现 Runnable 接口:通过实现 ...
Java线程有五种状态:新建、就绪、运行、阻塞和终止。`Thread.State`枚举类型表示这些状态,理解它们有助于优化线程管理。 三、线程同步 1. 同步机制:为了解决多线程并发访问共享资源导致的数据不一致问题,Java...
java学习笔记2(多线程)java学习笔记2(多线程)
通过阅读`多线程笔记.doc`和运行`threadDemo`示例代码,你可以对Java多线程有更深入的理解,并能够在实际项目中灵活运用这些知识,解决并发问题。同时,博客地址提供了更多详细内容,可以帮助你进一步探索和实践。
### Java线程基础知识点 #### 一、基本概念 **程序**:程序是指一组静态的指令集合,它定义了一个应用程序的逻辑结构。 **进程**:进程是程序在计算机上的一次执行过程,它是操作系统资源分配的基本单位。一个...
此外,多线程编程也是Java的一大亮点,笔记会介绍线程的创建与同步机制,如synchronized关键字和wait/notify机制。 文件I/O操作是任何编程语言都不可或缺的部分,Java也不例外。笔记会讲解如何在Java中读写文件,...
java多线程笔记分享
Java线程技术是软件工程领域不可或缺的一部分,尤其在底层编程、Android应用开发以及游戏开发中,其重要性不言而喻。然而,尽管Java程序员普遍了解线程的基础概念,但在项目实践中,尤其是在复杂场景下处理多线程...
* 1.1 编程语言:Java是一种面向对象的编程语言,具有跨平台、动态加载、多线程等特点。Java语言的设计目标是提供一种通用的、基于对象的、高度面向对象的编程语言。 * 1.2 Java特点:Java语言的特点包括平台独立性...
【标题】"java读书笔记笔记笔记笔记笔记笔记" 暗示了这是一份关于Java编程语言的学习笔记,可能包含了作者在阅读Java相关书籍时所做的重要记录和理解。笔记通常涵盖了语言的基础概念、核心特性、类与对象、内存管理...
线程和并发处理也是Java的一大亮点,JDK5.0对多线程的支持进一步加强,提供了更高级的并发工具类。 文件I/O操作在任何编程中都必不可少,Java的IO流系统提供了一套完整的输入输出处理机制,包括字节流和字符流,...
以上就是关于"java线程笔记"中的主要知识点,涵盖了线程的创建、同步、单例模式、锁机制、线程通信以及线程池等方面,这些都是Java并发编程的基础和核心。通过深入理解并熟练运用这些概念,可以编写出高效、稳定的多...
java学习笔记5(java多线程)java学习笔记5(java多线程)
Java是一种广泛使用的面向对象的编程语言,由Sun Microsystems(现为Oracle公司的一部分)于1995年发布。它的设计目标是具有简单性、面向对象、健壮性、安全性、可移植性、高性能和多线程等特性。Java的学习涵盖了...