java多线程知识点总结
一、线程的三种创建方法
1-1 继承Thread
继承thread方法然后重写run方法,在用start开启线程。
代码实现:
1-2 实现Runnable接口(主要用于做共享任务)
实现Runnable接口重写run方法,将实现类的对象当参数传入创建Thread。
代码实现:
1-3 实现Callable接口(用于获得线程任务的返回值配合FutureTask使用)
先实现Callable接口重写call方法,新建FutureTask将Callable的实现类当作参数传入,在创建Thread将FutureTask传入。FutureTask可以获得返回值。
代码实现:
1-4 线程的常用方法
设置线程优先级(提高概率,本质还是随机)范围1 - 10;
setPriority(int newPriority);
设置守护线程
setDaemon(true);
获取当前线程
Thread.currentThread();
二、创建线程池的俩种方法
1-1 Executors
创建默认线程池
Executors.newCachedThreadPool();
创建最大线程线程池
Executors.newFixedThreadPool(10);
1-2 ThreadPoolExecutors
构造方法
三、线程安全的三种方法
1-1 同步代码块
synchronized(锁对象){
}
1-2 同步代码方法
修饰符 synchronized 返回值类型 方法名(方法参数) {
方法体;
}
1-3 Lock对象
Lock lock = new Lock();
lock.lock();
lock.unlock();
四、线程的生命周期
五、消费者跟生产者
消费者:消费数据
生产者:生产数据
六、例题
运行结果:



浙公网安备 33010602011771号