【问题标题】:Really what is event in Threads? [closed]线程中的事件到底是什么? [关闭]
【发布时间】:2020-08-25 14:53:43
【问题描述】:

线程形式上是一系列事件。 下面提到的一些事件

  • 分配给共享变量
  • 分配给局部变量
  • 调用方法
  • 从方法返回

所以这里,是指指令执行和事件是否相同。

如果事件和指令执行不同,我需要知道它们的区别吗?

谁能解释一下什么叫事件?

线程和这些事件可以看作是状态图,其中线程(编程计数器、局部变量)是状态,事件是转换。 每当事件发生时,线程状态可能会发生变化。

提前致谢

【问题讨论】:

  • 那些在我看来不像是事件。
  • 我误会了@RobertHarvey的事件
  • 显然如此。 ...
  • 也许回到你对“线程”的定义。我不确定这是从哪里来的,但我怀疑“事件”一词的非惯用用法可能与潜在问题无关。
  • Re,“我误解事件了吗?”我认为我们在这里混合了来自不同知识领域的想法。 “事件”在计算机科学环境中的含义不同于对软件工程师的含义。您对“事件”和“线程”的描述听起来像是对我们可能了解的线程的高级、抽象、正式的讨论;但有些回答的人似乎从软件开发人员的角度解释了这些相同的词,他们试图使用为它们分配非常特定含义的库/工具来解决一些具体问题。

标签: multithreading process pthreads definition


【解决方案1】:

内部事件是指令执行。外部事件是线程之间通信的一种手段。它们由特殊类型的指令实现,这些指令可以安全地在并行线程上执行(CAS、比较和设置、比较和交换)。外部事件的最终目标是将信号从一个线程传递到另一个线程。通常它是使用缓冲区完成的,即一个线程将信号放入缓冲区,另一个线程提取该信号,如果没有信号准备好则等待。

【讨论】:

  • 谢谢@Alexei,正如你所说,外部事件是一种特殊的指令执行,但这些指令用于将信号从一个线程传递到另一个线程。
  • 外部事件和内部事件的目的不同,但都是指令执行。我明白你的意思了吗?@Alexei
  • 归根结底,计算机中发生的一切都是指令的执行。但是这种方法太低级了,通常会使用更大的构建块——过程调用、临界区等。
猜你喜欢
  • 2016-04-01
  • 1970-01-01
  • 2015-11-04
  • 2011-09-26
  • 2014-03-23
  • 2020-11-01
  • 2013-02-14
  • 2021-08-29
  • 2018-02-14
相关资源
最近更新 更多