首页 > 试题广场 >

多个线程可同时操作一个数据,为了保证该数据的准确性,可将操作

[单选题]
多个线程可同时操作一个数据,为了保证该数据的准确性,可将操作该数据的部分改为:
  • 只写
  • 只读
  • 异步
  • 同步
链接:https://www.nowcoder.com/questionTerminal/0061be88463e4949863f68ba38175ae9?toCommentId=7323
来源:牛客网

1. 并发:在 操作系统 中,是指一个时间段中有几个程序都处于已启动运行到运行完毕之间,且这几个程序都是在同一个 处理机 上运行。其中两种并发关系分别是同步和互斥
2. 互斥:进程间相互排斥的使用临界资源的现象,就叫互斥。
3. 同步: 进程之间的关系不是相互排斥临界资源的关系,而是相互依赖的关系。进一步的说明:就是前一个进程的输出作为后一个进程的输入,当第一个进程没有输出时第二个进程必须等待。具有同步关系的一组并发进程相互发送的信息称为消息或事件。
其中并发又有伪并发和真并发,伪并发是指单核处理器的并发,真并发是指多核处理器的并发。
4. 并行:在单处理器中多道程序设计系统中,进程被交替执行,表现出一种并发的外部特种;在多处理器系统中,进程不仅可以交替执行,而且可以重叠执行。在多处理器上的程序才可实现并行处理。从而可知,并行是针对多处理器而言的。并行是同时发生的多个并发事件,具有并发的含义,但并发不一定并行,也亦是说并发事件之间不一定要同一时刻发生。

5. 多线程:多线程是程序设计的逻辑层概念,它是进程中并发运行的一段代码。多线程可以实现线程间的切换执行。

6. 异步:异步和同步是相对的,同步就是顺序执行,执行完一个再执行下一个,需要等待、协调运行。异步就是彼此独立,在等待某事件的过程中继续做自己的事,不需要等待这一事件完成后再工作。线程就是实现异步的一个方式。异步是让调用方法的主线程不需要同步等待另一线程的完成,从而可以让主线程干其它的事情。
   异步和多线程并不是一个同等关系,异步是最终目的,多线程只是我们实现异步的一种手段。异步是当一个调用请求发送给被调用者,而调用者不用等待其结果的返回而可以做其它的事情。实现异步可以采用多线程技术或则交给另外的进程来处理。

发表于 2020-09-30 23:07:37 回复(0)
只读也保证了数据的准确性和一致性呢 
感觉应该选B D
发表于 2017-05-30 17:50:55 回复(3)
答案:D
对该数据加锁,放在同步代码块中
synchronize(){
}
发表于 2016-01-08 10:08:09 回复(0)
同步可以理解为加锁
发表于 2018-06-21 18:05:32 回复(0)
看到一道一模一样的题 http://www.nowcoder.com/questionTerminal/0061be88463e4949863f68ba38175ae9?toCommentId=7323
发表于 2015-10-18 17:05:05 回复(0)

1. 并发:在 操作系统 中,是指一个时间段中有几个程序都处于已启动运行到运行完毕之间,且这几个程序都是在同一个 处理机 上运行。其中两种并发关系分别是同步和互斥
2. 互斥:进程间相互排斥的使用临界资源的现象,就叫互斥。
3. 同步: 进程之间的关系不是相互排斥临界资源的关系,而是相互依赖的关系。进一步的说明:就是前一个进程的输出作为后一个进程的输入,当第一个进程没有输出时第二个进程必须等待。具有同步关系的一组并发进程相互发送的信息称为消息或事件。
其中并发又有伪并发和真并发,伪并发是指单核处理器的并发,真并发是指多核处理器的并发。
4. 并行:在单处理器中多道程序设计系统中,进程被交替执行,表现出一种并发的外部特种;在多处理器系统中,进程不仅可以交替执行,而且可以重叠执行。在多处理器上的程序才可实现并行处理。从而可知,并行是针对多处理器而言的。并行是同时发生的多个并发事件,具有并发的含义,但并发不一定并行,也亦是说并发事件之间不一定要同一时刻发生。

5. 多线程:多线程是程序设计的逻辑层概念,它是进程中并发运行的一段代码。多线程可以实现线程间的切换执行。

6. 异步:异步和同步是相对的,同步就是顺序执行,执行完一个再执行下一个,需要等待、协调运行。异步就是彼此独立,在等待某事件的过程中继续做自己的事,不需要等待这一事件完成后再工作。线程就是实现异步的一个方式。异步是让调用方法的主线程不需要同步等待另一线程的完成,从而可以让主线程干其它的事情。
   异步和多线程并不是一个同等关系,异步是最终目的,多线程只是我们实现异步的一种手段。异步是当一个调用请求发送给被调用者,而调用者不用等待其结果的返回而可以做其它的事情。实现异步可以采用多线程技术或则交给另外的进程来处理。

发表于 2022-09-05 17:23:32 回复(0)
添加synchronize同步锁是可以的,如果数据量太大会带来较大的性能消耗
发表于 2021-05-11 08:51:09 回复(0)
<p>D</p>
发表于 2020-06-06 01:34:19 回复(0)
同步也就是加锁,AQS中同步队列也叫阻塞队列
发表于 2019-07-18 17:09:20 回复(0)
这题的的意思就是,操作包括读写
发表于 2018-07-28 14:38:39 回复(0)
同步可以理解为加锁
发表于 2018-03-18 09:24:10 回复(0)
题中同时操作一个数据,应该不是指互斥形式的逻辑串行。读的话可以真正的并发
发表于 2016-04-07 11:12:06 回复(0)
答案不就是D么
发表于 2015-10-31 20:03:52 回复(0)
怎么感觉答案是D啊,数据只读的话那还怎么操作啊?
发表于 2015-10-16 22:48:58 回复(0)
D为什么不行
发表于 2015-10-16 13:45:46 回复(0)