📅  最后修改于: 2023-12-03 15:36:53.882000             🧑  作者: Mango
在Java中,可以通过继承Thread类或实现Runnable接口来创建线程。
public class MyThread extends Thread {
@Override
public void run() {
// 线程主体逻辑
System.out.println("Hello, World!");
}
}
public class Main {
public static void main(String[] args) {
MyThread t = new MyThread();
t.start();
}
}
public class MyRunnable implements Runnable {
@Override
public void run() {
// 线程主体逻辑
System.out.println("Hello, World!");
}
}
public class Main {
public static void main(String[] args) {
MyRunnable r = new MyRunnable();
Thread t = new Thread(r);
t.start();
}
}
在Java中,多个线程可以同时访问同一个对象。为了确保线程安全,需要考虑到线程访问对象时的互斥问题。可以通过以下方式来确保线程安全:
同步方法是一种特殊的方法,只能一个线程访问。在方法定义时,使用synchronized关键字前缀,如下:
public synchronized void synchronizedMethod() {
// 同步方法主体逻辑
}
同步块是使用synchronized关键字来锁定的一段代码块,例如:
public void someMethod() {
synchronized (this) {
// 同步块主体逻辑
}
}
Java提供了两种方式来创建线程:继承Thread类和实现Runnable接口。为了确保线程安全,需要使用同步方法或同步块来进行互斥控制。