20、Java多线程与文件流操作全解析

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 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值