当前位置: 首页 > 知识库问答 >
问题:

java线程将如何在下面的场景中工作?

蒋华美
2023-03-14

假设在多线程环境中有5个线程t1、t2、t3、t4、T5....线程t1、t2、t3、t4调用wait()方法(在synchronized块内),只有线程t5调用notify()方法,然后哪个线程将获得优先级,才能再次获得临界区的锁。

共有1个答案

屠德宇
2023-03-14

选择是任意的,4个线程中的任何一个都可能被唤醒。java中的内在锁是不公平的,这将导致一些等待线程比其他线程等待的时间更长,即使它们试图首先获得锁。可以使用ReentrantLock来授予对等待时间最长的线程的访问权限,如果这对您的程序很重要的话。

 类似资料:
  • 我不知道map和ifPresent会在这里执行。但如果有任何方法可以实现这样的目标。

  • 今天面试遇到个场景题,复盘的时候想了许久,也没想明白。 场景: 一个线程,通过Runnable接口,重写run方法,方法内部是: run(){ while(true){ "打印中xxx" sleep(10s) } } 场景解析,假设本地idea启动,我需要10S内 中断这个线程,怎么优化这个代码。比如在控台输入 "wq" 立马结束打印线程。 有什么思路?#23届找工作求助阵地##

  • 问题内容: 在Objective-C中,使用Sprite-Kit,我将在Objective-C中 成功 使用类似以下代码的内容来展示新场景 在尝试将我的简单游戏移植到Swift时,到目前为止,我已经完成了这项工作… 但是我不知道要写什么代码才能真正过渡到另一个场景。问题: 有人可以提供在Swift中使用SKTransition的示例吗? 假设您将使用Objective-C,通常是否会创建另一个“文

  • 我看了很多页,试图找出如何切换场景,但都没有成功。 我有一个计算器,我的目标是选择一个菜单选项来更改计算器(即:基础和科学)。现在我只是在测试,所以这里是我到目前为止与这个问题相关的代码(我使用的是场景生成器): 编辑我已经尝试了很多东西。不管怎样,我总是得到这个NullPointerException。我有一种感觉,这可能与在场景生成器中设置某些内容有关,但我就是找不到答案 工作代码: 我使用下

  • 问题内容: 我有一个使用javafx Scene来渲染某些东西的应用程序,并且我想将该渲染结果放入我在Javafx中创建的某些GUI中。我该怎么做? 基本上,有一些容器可以放入场景,然后将其放入GUI。 抱歉,如果是新手问题,我是JavaFX的新手 问题答案: 该场景只有一个顶级父节点作为根。您可以获取它并放入另一个场景。

  • 我有一个socket客户端应用程序,在应用程序启动期间,会创建socket(与服务器建立连接),并启动两个并行运行的线程。 Thread-1:使用read方法连续读取套接字(块,直到收到数据) Thread-2:连续写入数据。 在写入套接字时,如果线程2接收到IO异常,那么它会丢弃现有的套接字并创建新的套接字并开始通信。由于线程2丢弃套接字,线程1接收空指针异常。我们有什么应对策略吗

  • 在我的cucumber jvm项目中,我希望在不使用场景大纲的情况下,使用相同的数据集执行场景10次(数据在excel中提供)。 有人能指导我如何做到这一点吗?

  • 节点和组件 坐标系和变换 管理节点层级和显示顺序 使用场景编辑器搭建场景图像 场景摄像机配置面板 在学习了上述基本的场景设置和搭建流程后,我们接下来会分三个部分分别介绍组成场景的各类元素: 图像和渲染元素 UI 系统和控件 动画系统 请在完成本章后继续了解这些系统和元素。 继续前往 节点和组件 说明文档。