首页 > 试题广场 >

有关线程的叙述正确的是()

[单选题]
有关线程的叙述正确的是()
  • 可以获得对任何对象的互斥锁定。
  • 通过继承Thread类或实现Runnable接口,可以获得对类中方法的互斥锁定。
  • 线程通过使用synchronized关键字可获得对象的互斥锁定。
  • 线程的创建只能通过继承Thread类来实现。
 采用synchronized修饰符实现的同步机制叫做互斥锁机制,它所获得的锁叫做互斥锁。每个对象都有一个monitor(锁标记),当线程拥有这个锁标记时才能访问这个资源,没有锁标记便进入锁池。任何一个对象系统都会为其创建一个互斥锁,这个锁是为了分配给线程的,防止打断原子操作。每个对象的锁只能分配给一个线程,因此叫做互斥锁。
发表于 2018-07-14 19:02:41 回复(1)
互斥锁指的是只有一个线程可以访问该对象。
通过继承Thread类或实现Runnable接口,只是创建线程的两种方式。



发表于 2018-07-17 09:52:04 回复(2)
A应该是"任何"那错了,比如在一个static方法中就无法对一个非static对象加锁
private volatile String a = "lock";

public static void f() {
  synchronized (a) {} //错误的,无法获取该对象的锁
}


发表于 2021-08-29 17:17:23 回复(0)

A选项中,如果变量用volatile修饰,则该变量是线程共享的,无法获得该变量的互斥锁

发表于 2019-03-23 01:40:16 回复(6)
发表一下自己的看法
A.可以获得对任何对象的互斥锁定,感觉说的太绝对,错误原因不知道。
B 线程的创建方式与线程之间互斥无关
C synchronized关键字可以实现互斥
D 线程创建方式不止通过继承Thread类来实现
编辑于 2018-07-19 15:21:41 回复(0)
官方解释呢,我很好奇!(〜 ̄▽ ̄)〜
发表于 2018-01-03 11:00:44 回复(0)
Java的锁就是基于对象的,所以理论上任何对象都可以作为锁,如果A选项错误的话请解答一下什么对象不能作为锁。
发表于 2019-05-06 19:56:38 回复(1)
A哪儿错了? C说的不对吧 使用了synchronized关键字就可以获得锁?获不获得要看程序具体情况好吧
发表于 2018-09-28 00:31:34 回复(0)
只有我看到SDF第一个想到Syrian Democratic Forces吗。。。
发表于 2018-04-18 16:26:51 回复(1)
鸡儿的题目
发表于 2018-03-17 16:01:17 回复(0)
撒尿吊都不扶,就服你。。。
发表于 2017-12-30 17:06:23 回复(1)
这是什么题目?
发表于 2017-12-23 01:20:20 回复(0)
都不知道这说的是啥。。。。。。。
发表于 2017-12-01 10:52:24 回复(0)
创建线程的三种方法:继承 Thread 类、实现 Runnable 接口、以及使用匿名类
发表于 2022-08-29 03:52:42 回复(0)
synchronized 关键字声明的方法同一时间只能被一个线程访问。
synchronized 修饰符可以应用于四个访问修饰符。
发表于 2019-05-01 17:46:39 回复(0)
那个A开始觉得没毛病,每个对象创建的时候会同时创建一个monitor对象,那么应该任何对象都能当做一个锁咯?出了已经被锁定的对象。
发表于 2022-10-28 21:56:15 回复(0)
synchronized 关键字声明的方法同一时间只能被一个线程访问。 synchronized 修饰符可以应用于四个访问修饰符。
发表于 2022-10-16 15:01:23 回复(0)
a的描述有问题 有毒吧
发表于 2022-09-16 00:02:35 回复(0)
互斥锁定 什么意思?
发表于 2022-04-21 18:19:58 回复(0)
线程通过使用synchronized关键字可获得对象的互斥锁定。
注:互斥锁指的是只有一个线程可以访问该对象。
发表于 2021-05-06 16:43:45 回复(0)