不要只读书 只看视频
看完再背着打代码也不行
在案例之前自己思考应该怎么打代码
取钱的案例学了N遍 但你自己打不出来
使用多线程会涉及三个角色
- 操作对象类 (这个类中包含很多业务逻辑 线程类包装该类的方法进行操作
所有的JUC 锁关键字
都在这里使用 同一功能的线程共同操作该目标类的同一方法 你说是把关键字写操作对象里 还是写线程类里) - 线程类(包含run方法 线程业务所在 其中维护操作对象里类实例 这样保证所有线程在对同一个资源操作)
- 客户端(生成多个线程实例调用run方法 并且多个线程维护一个操作对象 这样达到多个线程共享资源 才会有线程之间的调度控制 对象锁互斥等)
线程类是包含业务run方法的类 线程是线程实例调用start的
class Data{
public void read(){
Lock.lock();
}
public synchronized void write(){
}
}
class ReadThread implements Runnable{
private Data data;
ReadThread readThread(Data data){
this.data=data;}
public void run()