第1章 线程
线程与进程
- 进程是操作系统资源分配和调度的基本单位,但cpu资源是分配到线程的,也就是线程是CPU分配的基本单位。
- 线程自己的栈资源中,存放的局部变量是线程私有的,其他线程无法访问,除此之外栈还存线程的调用栈帧。
线程创建
三种方式:实现Runnable接口的run方法;继承Thread类并重写run方法;使用FutureTask方式。
线程等待与通知
1 wait()
线程先要事先获得共享变量上的监视器锁,然后当一个线程调用一个共享变量的wait()方法,该线程会被阻塞挂起,并且释放掉该共享变量上的锁。直到发生:(1)此后其他线程调用了该共享对象的notify或notifyAll()方法 (2)此后其他线程调用了该线程的interrupt()方法。(该线程会抛出InterruptedException异常返回)
2 wait(long timeout)
- 超时参数timeout:如果该线程调用wait(long timeout)挂起后,(过了timeout ms时间仍未被唤醒,) 该函数会因为等待时间超时返回。
- wait()内部就是调用了wait(0),两者相当。
3 wait(long timeout,int nanos)
4 notify()
原文地址:https://www.cnblogs.com/coding-gaga/p/11291532.html
时间: 2024-10-03 22:28:55