Java 多线程与文件操作全解析
1. 多线程同步
在 Java 编程中,当多个线程使用同一资源时,就需要对线程进行同步操作,以避免数据混乱和不一致的问题。Java 提供了两种线程同步的方式:同步方法和同步语句。
1.1 同步方法
Java 中的所有对象都有一个监视器(monitor)。当一个被 synchronized 关键字修饰的方法被调用时,线程会进入该对象的监视器。首先调用该同步方法的线程会进入方法内部,并拥有该方法及其所使用的资源。其他调用该同步方法的线程会被挂起,直到第一个线程释放该同步方法。
如果同步方法是实例方法,它会激活与调用该方法的实例相关联的锁;如果是静态方法,则会激活与定义该同步方法的类对象相关联的锁。
下面通过一个示例来说明不同步可能出现的问题:
class Parentheses {
void display(String s) {
System.out.print("(" + s);
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
System.out.println("Interrupted");
}
System.out.println(")");
}
}
class MyThread implements Runnable {
String s1;
Parenth
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



