Java多线程与文件流操作全解析
1. Java多线程同步机制
在Java编程中,当多个线程需要使用同一资源时,就需要对线程进行同步操作,以避免资源竞争导致的数据不一致问题。Java提供了两种线程同步的方式:同步方法和同步语句。
1.1 同步方法
在Java里,所有对象都有一个监视器(monitor)。当一个被 synchronized 关键字修饰的方法被调用时,线程会进入该对象的监视器。首先调用该同步方法的线程会进入方法内部,拥有该方法及其所使用的资源。其他调用该同步方法的线程会被挂起,直到第一个线程释放该同步方法。
如果同步方法是实例方法,它会激活与调用该方法的实例相关联的锁,也就是在方法体执行期间被称为 this 的对象。如果同步方法是静态方法,它会激活与定义该同步方法的类对象相关联的锁。
以下是一个未使用同步方法的示例:
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
超级会员免费看
订阅专栏 解锁全文

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



