`
sui366
  • 浏览: 32258 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

java线程笔记(一)

    博客分类:
  • jdk
阅读更多

 

 

 

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多线程笔记是 Java 编程语言中关于多线程编程的笔记,涵盖了线程基础知识、线程优先级、线程状态、守护线程、构造线程、线程中断等多方面的内容。 获取简单 main 程序中的线程 在 Java 中,...

    java多线程笔记

    Java线程的知识点总结。doc

    java 线程总结笔记

    花费了一上午的时候 写了一些demo。认识到四种线程池的区别。上传到csdn 供以后学习

    java线程学习笔记

    Java 线程学习笔记 Java 线程创建有两种方法: 1. 继承 Thread 类,重写 run 方法:通过继承 Thread 类并重写 run 方法来创建线程,这种方法可以使线程具有自己的执行逻辑。 2. 实现 Runnable 接口:通过实现 ...

    JAVA 多线程学习笔记

    Java线程有五种状态:新建、就绪、运行、阻塞和终止。`Thread.State`枚举类型表示这些状态,理解它们有助于优化线程管理。 三、线程同步 1. 同步机制:为了解决多线程并发访问共享资源导致的数据不一致问题,Java...

    java学习笔记2(多线程)

    java学习笔记2(多线程)java学习笔记2(多线程)

    java多线程笔记全手打

    通过阅读`多线程笔记.doc`和运行`threadDemo`示例代码,你可以对Java多线程有更深入的理解,并能够在实际项目中灵活运用这些知识,解决并发问题。同时,博客地址提供了更多详细内容,可以帮助你进一步探索和实践。

    java线程笔记.docx

    ### Java线程基础知识点 #### 一、基本概念 **程序**:程序是指一组静态的指令集合,它定义了一个应用程序的逻辑结构。 **进程**:进程是程序在计算机上的一次执行过程,它是操作系统资源分配的基本单位。一个...

    java超强笔记

    此外,多线程编程也是Java的一大亮点,笔记会介绍线程的创建与同步机制,如synchronized关键字和wait/notify机制。 文件I/O操作是任何编程语言都不可或缺的部分,Java也不例外。笔记会讲解如何在Java中读写文件,...

    java多线程笔记分享

    java多线程笔记分享

    张孝祥Java多线程与并发库高级应用笔记

    Java线程技术是软件工程领域不可或缺的一部分,尤其在底层编程、Android应用开发以及游戏开发中,其重要性不言而喻。然而,尽管Java程序员普遍了解线程的基础概念,但在项目实践中,尤其是在复杂场景下处理多线程...

    (完整版)最全的java学习笔记(必看).pdf

    * 1.1 编程语言:Java是一种面向对象的编程语言,具有跨平台、动态加载、多线程等特点。Java语言的设计目标是提供一种通用的、基于对象的、高度面向对象的编程语言。 * 1.2 Java特点:Java语言的特点包括平台独立性...

    java读书笔记笔记笔记笔记笔记笔记

    【标题】"java读书笔记笔记笔记笔记笔记笔记" 暗示了这是一份关于Java编程语言的学习笔记,可能包含了作者在阅读Java相关书籍时所做的重要记录和理解。笔记通常涵盖了语言的基础概念、核心特性、类与对象、内存管理...

    Java学习笔记——良葛格

    线程和并发处理也是Java的一大亮点,JDK5.0对多线程的支持进一步加强,提供了更高级的并发工具类。 文件I/O操作在任何编程中都必不可少,Java的IO流系统提供了一套完整的输入输出处理机制,包括字节流和字符流,...

    java线程笔记

    以上就是关于"java线程笔记"中的主要知识点,涵盖了线程的创建、同步、单例模式、锁机制、线程通信以及线程池等方面,这些都是Java并发编程的基础和核心。通过深入理解并熟练运用这些概念,可以编写出高效、稳定的多...

    java学习笔记5(java多线程)

    java学习笔记5(java多线程)java学习笔记5(java多线程)

    Java 学习笔记Java学习笔记

    Java是一种广泛使用的面向对象的编程语言,由Sun Microsystems(现为Oracle公司的一部分)于1995年发布。它的设计目标是具有简单性、面向对象、健壮性、安全性、可移植性、高性能和多线程等特性。Java的学习涵盖了...

Global site tag (gtag.js) - Google Analytics