在Java中,可以使用关键字synchronized
来给对象加锁。具体的方法有两种:
synchronized
方法:在方法声明中使用synchronized
关键字,表示该方法一次只能被一个线程访问。例如:public synchronized void method() {
// 在这里编写需要加锁的代码
}
synchronized
代码块:在代码块中使用synchronized
关键字,表示只有获取到锁的线程才能执行该代码块。例如:synchronized (object) {
// 在这里编写需要加锁的代码
}
在上述代码中,object
是需要加锁的对象,只有获取到object
对象的锁的线程才能执行该代码块。
需要注意的是,当多个线程同时访问一个对象时,只有一个线程能够获得该对象的锁,其他线程会被阻塞,直到获取到锁的线程执行完毕释放锁。这样可以确保在多线程环境下对共享资源的安全访问。