当前位置: 首页 > 面试题库 >

多核/多处理器系统上Thread.currentThread()的语义?

潘泰
2023-03-14
问题内容

如果在多处理器或多处理器计算机上运行,​​而jvm可能绝对同时运行多个线程(不只是同时出现),那么api方法java.lang.Thread.currentThread()返回什么?…在​​上述情况下,它是否会返回当前线程之一是随机的吗?


问题答案:

它返回您当前正在其中运行的线程。如果你有两个核心和两个线程AB完全并行运行,要求在同一时间这个方法,它将返回AB适当的。

您的理解是正确的-此方法返回的线程始终处于运行状态-因为必须从某个线程调用该线程,并且要返回该线程必须正在运行。不要以“
所有当前正在运行的,非暂停的,非阻塞的线程 ”的方式来考虑该方法。相反,它的含义是:“ 给我一个运行我的线程的引用 ”。



 类似资料:
  • 问题内容: 我一直在阅读有关Python的多处理模块的信息。我仍然认为我对它可以做什么没有很好的了解。 假设我有一个四核处理器,并且我有一个包含1000000个整数的列表,我想要所有整数的总和。我可以简单地做: 但这仅将其发送到一个内核。 是否有可能使用多处理模块将数组划分为多个,并让每个核获得其部分的总和并返回值,以便可以计算总和? 就像是: 任何帮助,将不胜感激。 问题答案: 是的,可以对多个

  • 编辑器扩展系统中内置的多语言方案允许扩展配置多份语言的键值映射,并根据编辑器当前的语言设置在扩展里使用不同语言的文字。 要启用多语言功能(以下简称 i18n),请在扩展的目录下新建一个名叫 i18n 的文件夹,并为每种语言添加一个相应的 JavaScript 文件,作为键值映射数据。数据文件名应该和语言的代号一致,如 en.js 对应英语映射数据。 下面是键值映射数据源的例子: en.js mod

  • 问题内容: 我有一个Python脚本,想用作另一个Python脚本的控制器。我有一台具有64个处理器的服务器,因此想生成第二个Python脚本的64个子进程。子脚本称为: NAME是XYZ,ABC,NYU等。 在我的父控制器脚本中,我从列表中检索name变量: 所以我的问题是,从小就产生这些过程的最佳方法是什么?我想一次将子级的数量限制为64个,因此需要跟踪状态(子级进程是否完成),以便有效地保持

  • 问题内容: 我知道,现在大多数处理器都有两个或多个内核,因此多核编程非常流行。有在Java中利用此功能的功能吗?我知道Java有一个Thread类,但是我也知道这是在多核流行之前的很长时间了。如果我可以使用Java中的多个内核,我将使用什么类/技术? 问题答案: Java是否支持多核处理器/并行处理? 是。它还是其他编程语言的平台,在该平台上,实现增加了“真正的多线程”或“真正的线程”卖点。在较新

  • 多显示器系统 返回上级 Windows 98和Windows NT 5.0可以支持在一个单独的系统中存在多个显示设备和显示器。多显示器架构(通常简称为“MultiMon”)使操作系统使用两个或多个显示设备和显示器来建立一个逻辑桌面成为可能。举例来说,在一个有两台显示器的系统中,用户可以在其中的任何一个显示器上显示他的应用程序,或者将窗口从一个窗口中拖到另一个窗口中。 这一章的内容包含了如何在一个多

  • 我有以下的要求要设计。 有多个作业要完成。每个作业都有一个作业id和一个系统id。作业id是唯一的,但同一系统id可能有多个作业 应顺序处理给定系统id的作业 其中某些作业可能处于等待状态,如果处于等待状态,则在x秒/分钟之前不应重新尝试返回 系统约束 唯一系统ID的数目可以是lakhs 每个系统ID的作业数可以是lakh 我曾考虑过使用kafka,但如果一个系统被阻塞,那么该分区中不同系统的所有