牛叔叔 的笔记

好好学习

2023-05-28 12:10

Java中多线程的相关基础知识总结

牛叔叔

JavaEE

(892)

(0)

收藏

1、Thread类:

Thread类是Java中用于创建线程的类。通过继承Thread类并重写run()方法来创建线程。

public class MyThread extends Thread {
    @Override
    public void run() {
    // 线程执行的代码
    }
}
MyThread thread = new MyThread();
thread.start();

2、Runnable接口:

Runnable接口是Java中提供的用于创建线程的接口。通过实现Runnable接口并重写run()方法来创建线程。

public class MyRunnable implements Runnable {
    @Override
    public void run() {
        // 线程执行的代码
    }
}

MyRunnable runnable = new MyRunnable();
Thread thread = new Thread(runnable);
thread.start();

3、synchronized关键字:

synchronized关键字用于保证线程安全,可以用于方法或代码块中。

public synchronized void method() {
    // 线程安全的代码
}

4、wait()、notify()、notifyAll()方法:

这些方法用于线程间的通信,wait()方法使当前线程等待,notify()方法唤醒等待的线程,notifyAll()方法唤醒所有等待的线程。

synchronized (obj) {
    while (condition) {
        obj.wait();
    }
    // 执行代码
    obj.notify();
}

5、Lock接口:

Lock接口是Java中提供的用于实现锁的接口,通过实现Lock接口来保证线程安全。

Lock lock = new ReentrantLock();
lock.lock();
try {
    // 线程安全的代码
} finally {
    lock.unlock();
}

6、ReentrantLock类:

ReentrantLock类是Java中实现Lock接口的类,可以用于实现线程安全。

ReentrantLock lock = new ReentrantLock();
lock.lock();
try {
    // 线程安全的代码
} finally {
    lock.unlock();
}

7、Condition接口:

Condition接口是Java中提供的用于线程间通信的接口,可以用于实现wait()、notify()、notifyAll()方法。

Lock lock = new ReentrantLock();
Condition condition = lock.newCondition();
lock.lock();
try {
    while (condition) {
        condition.await();
    }
    // 执行代码
    condition.signal();
} finally {
    lock.unlock();
}


0条评论

点击登录参与评论