-
1、一个线程告诉其他线程某些消息----通信。
2、多个线程不能同时使用某个资源----互斥。
3、synchronized锁定互斥资源。
4、while(energyBoxes[from]<amount){lockObj.wait();}
while循环保证条件不满足时,线程不会一直去请求锁,提高系统性能,它会在Wait Set中等待
5、lockObj.notifyAll();唤醒所有等待资源的线程。等待池的对象是不会竞争锁的,当notifyAll后,等待池中的线程会被唤醒进入到该线程的锁池中重新竞争对象锁,重新获得锁后的对象会从wait后继续执行代码,其他对象会被阻塞,而不是wait。被阻塞的对象会等待下一次被唤醒(notify、notifyAll)。另外,notify不是线程安全的,notifyAll才是。
6.同步:wait()+notify() 方法。
查看全部 -
a)调用interrupt()方法会使线程的interrupted属性值被set。
b)当线程调用sleep(),join()等方法在阻塞状态下,又被别的线程调用的interrupt()方法,则会抛出interruption异常,并且interrupted属性值会被clear。
查看全部 -
Thread.currentThread().getName();获取当前线程的名称。
volatile
;可见性,java的关键字(保证了线程可以正确的读取
其他线程写入的值)
Thread.yield();
让出当前线程的执行权限,随机选择线程执行。Thread.sleep();线程休眠
Thread.join();优先执行该线程,其他线程都暂停。使同级其他线程停下来,等待调用join方法的对象完成线程后,再进行其他线程
查看全部 -
java实现线程:thread类 和 runnable接口 (都位于java.lang下,都有一个run方法,run方法提供了线程执行过程中常用的代码)
Thread常用方法
查看全部 -
1.进程
程序(任务)的执行过程 -----执行过程是动态性的
持有资源(共享内存,共享文件)和线程
2.线程
线程是系统中最小的执行单元
同一进程中有多个线程
线程共享进程的资源
线程的交互:互斥(竞争资源)、同步
查看全部 -
Thread常用方法
查看全部 -
进程
程序(任务)的执行过程 -----执行过程是动态性的
持有资源(共享内存,共享文件)和线程
线程是系统中最小的执行单元
同一进程中有多个线程
线程共享进程的资源
查看全部 -
两本书:
1、Core Java
2、Java Concurrent In Practice
查看全部 -
并发编程工具
查看全部 -
多线程编程常用的交互模型
查看全部 -
Locks & Condition
查看全部 -
Java Memory Mode
查看全部 -
重点回顾:
查看全部 -
Thread常用方法
查看全部 -
class Thread
interface Runnable
public void run()
查看全部
举报