3月6日java学习笔记
- 线程创建方式
继承Thread类:
class MyThread extends Thread {
@Override
public void run() {
System.out.println("线程执行");
}
}
// 启动
new MyThread().start();
实现Runnable接口(推荐,避免单继承限制):
class Task implements Runnable {
@Override
public void run() { /.../ }
}
// 启动
new Thread(new Task()).start();
2. 线程同步
synchronized关键字:
public synchronized void increment() { // 同步方法
count++;
}
// 同步代码块
synchronized(obj) { /临界区代码/ }
Lock接口(更灵活):
Lock lock = new ReentrantLock();
lock.lock();
try { /操作共享资源/ }
finally { lock.unlock(); }
3. 线程池(ExecutorService)
ExecutorService pool = Executors.newFixedThreadPool(3);
pool.submit(() -> System.out.println("任务执行"));
pool.shutdown(); // 关闭线程池
浙公网安备 33010602011771号