摘要:
在Java中,停止一个线程的主要机制是中断,中断并不是强迫终止一个线程,它是一种协作机制,是给线程传递一个取消信号,但是由线程来决定如何以及何时退出。 Thread类定义了如下方法: interrupt()对线程的影响与线程的状态和在进行的IO操作有关,我们先考虑线程的状态: RUNNABLE:线程 阅读全文
摘要:
协作基础(wait/notify) Java的根父类是Object,Java在Object类而非Thread类中,定义了一些线程协作的基本方法,使得每个对象都可以调用这些方法,这些方法有两类,一类是wait,另一类是notify。 wait方法主要有两个: 一个带时间参数,单位是毫秒,表示最多等待这 阅读全文
摘要:
synchronized基础用法 synchronized可以用于修饰类的实例方法、静态方法和代码块。它保护的是对象(包括类对象)而非代码,只要访问的是同一个对象的synchronized方法,即使是不同的代码,也会被同步顺序访问。 每个对象有一个锁(又叫监视器)和一个锁等待队列,锁只能被一个线程持 阅读全文
摘要:
线程基础 线程表示一条单独的执行流,它有自己的程序执行计数器,有自己的栈 java中线程的实现方式: 继承Thread类并重写其run方法(Thread类也实现了Runnable接口,并提供了默认实现),调用Thread类的实例方法start()启动线程 实现Runnable接口(重写run()方法 阅读全文