Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >在Cloud Foundry中使用多线程Java应用程序时遇到问题

在Cloud Foundry中使用多线程Java应用程序时遇到问题
EN

Stack Overflow用户
提问于 2020-07-24 12:29:34
回答 2查看 500关注 0票数 2

我的Java应用程序有一个程序,可以同时执行多个线程来完成任务。它在我的本地电脑上运行得非常好,因为它有4个核心和8个逻辑处理器,但当我在云计算上部署我的应用程序时,它不允许创建超过1个线程。我调试发现Cloud Foundry JVM只分配了1个CPU,因此它不能同时运行多个线程。

我如何解决这个问题?

我是否需要购买更多的CPU,或者有一种方法可以更改JVM配置来为java应用程序设置多个CPU。

EN

回答 2

Stack Overflow用户

发布于 2020-07-25 16:16:03

在SAP Cloud Platform Cloud Foundry中,CPU的数量取决于分配的内存。您可以获得的最大垂直扩展为8 8GB和2个CPU。请参阅下面报价中的配给。

在Cloud Foundry环境中,应用程序可以获得每GB实例内存1/4核的

保证份额。由于每个应用程序的最大实例内存为8 GB,因此允许垂直扩展到最多2个CPU。

在这里你可以在quotas and limitations of SAP Cloud Platform上找到更多。

This blog提供了关于SCP性能测试的有趣见解。

要更新您的配额,请转到您的应用程序的概述部分,并按照屏幕截图上的步骤操作:

票数 2
EN

Stack Overflow用户

发布于 2020-08-20 02:01:45

我正在给我自己的问题一个答案,因为我已经弄清楚了这个问题。线程死锁是问题的根本原因。多个线程同时调用相同的方法,线程在等待对方释放锁时被捕获。因此,执行变得无响应。为了修复它,我更改了Callable的call method中使用的所有方法,以便在方法声明中使用关键字"synchronized“进行同步。它现在在本地和云环境中都工作得很好。唯一一件事,我仍然不明白的是为什么死锁只发生在云环境中,而不是本地。我猜这可能是云中不同的JVM配置造成的。

@Artyom Kovalyov,下面是我如何拆分任务以进行并行处理。

代码语言:javascript
运行
AI代码解释
复制
final int numberOfWorkers = 4;
List<Callable<Void>> tasks = new ArrayList<Callable<Void>>();

//code here to create and add tasks to list

final List<List<Callable<Void>>> dividedTasks = Lists.partition(tasks, numberOfWorkers);
final ExecutorService executor = Executors.newFixedThreadPool(numberOfWorkers);
for (List<Callable<Void>> subsetOfTasks : dividedTasks) {
    try {

// you can invoke all tasks in one go but I prefer invoking number of taks same as thread pool max thread number

        executor.invokeAll(subsetOfTasks);
    } catch (InterruptedException e) {
        e.printStackTrace();
    }
}
executor.shutdownNow();
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63073603

复制
相关文章
在VirtualBox上使用Bosh部署Cloud Foundry
安装Bosh 安装 VirtualBox 略 $ VBoxManage --version 5.1.22r115126 安装Bosh $ wget -c https://s3.amazonaws.com/bosh-cli-artifacts/bosh-cli-2.0.48-linux-amd64 $ chmod +x bosh-cli-* $ sudo mv bosh-cli-* /usr/local/bin/bosh 安装完成后运行下面命令确认安装成功 $ bosh -v version 2.0.48-e
kongxx
2018/05/14
1.6K0
使用Cloud Foundry来调整微服务API
[本文由John Wetherill撰写。]
用户1208077
2018/01/12
1.4K0
Cloud Foundry中gorouter对StickySession的支持
Cloud Foundry作为业界出众的PaaS平台,在应用的可扩展性方面做得很优秀。
全栈程序员站长
2022/07/12
2980
DevOps工具介绍连载(23)——Cloud Foundry
Cloud Foundry是业界第一个开源PaaS云平台,它支持多种框架、语言、运行时环境、云平台及应用服务,使开发人员能够在几秒钟内进行应用程序的部署和扩展,无需担心任何基础架构的问题。
顾翔
2020/03/26
7220
Spring Cloud Sleuth在Spring Boot应用程序中的集成
Spring Cloud Sleuth是一款用于构建分布式跟踪系统的Spring Cloud组件。它可以帮助我们追踪请求从开始到结束的整个流程,并收集所需的信息以进行监视和调试。本文将介绍如何在Spring Boot应用程序中集成Spring Cloud Sleuth。
堕落飞鸟
2023/04/11
2.5K0
面向开发者的Cloud Foundry
Cloud Foundry是一个流行的开源PaaS(Platform as a Service 平台即服务)云平台。Cloud Foundry可以用在你自己部署的基础设施上,也可以在诸如Amazon web services(AWS 亚马逊网络服务)、Azure(微软的公有云平台)、VMware(虚拟机软件)或vSphere(VMware公司的虚拟化平台)中任何一个laaS(Infrastructure as a Service 基础设施即服务)上使用。它可以使用BOSH(开源工具链)部署系统进行部署。Cloud Foundry提供了一个可以轻松运行、扩展和维护应用程序的环境。Cloud Foundry支持大部分的开发语言和系统环境,比如Java、node js、Ruby、Python等等。Pivotal公司有一个云计算的商业实例,叫做AWS云之上的Pivotal Web Service (PWS Pivotal 网络服务)。
白加黑大人
2018/01/15
2.6K0
面向开发者的Cloud Foundry
开发者的福利--Cloud Foundry
要确保公司云资产的安全性,首先要应用基于虚拟网络独特性修改的可靠的数据安全实践。
Techeek
2018/01/12
3K0
开发者的福利--Cloud Foundry
ArrayList在Java多线程中的应用
开发中,存在这样的业务逻辑,类似倒金字塔结构,下层数据需要基于上层的数据进行逻辑计算。设计思路是:定义一个全局变量upLayerList,来保存上一层的数据。每一层计算仅需要知道upLayerList就可以,不用关心上一层数据怎么获取。当前层计算完毕后,把结果赋值给upLayerList,留给下一层使用。
用户2146693
2019/08/08
1.5K0
ArrayList在Java多线程中的应用
Java多线程编程在JMeter中应用
在最近的工作中,遇到一个需求:在JMeter中生成一个全局唯一变量,获取一次自增x(这个不确定,可能根据响应信息)。这不是我的需求,只是从同事那边听说到的,周末没事儿想起来这个事儿。按照我的方案肯定是用Java或者Groovy去实现这个需求,肯定不会选JMeter。
FunTester
2020/07/21
9980
使用Spring Cloud Sleuth跟踪应用程序中的请求
Spring Cloud Sleuth是一款分布式跟踪解决方案,可以用于跟踪应用程序中的请求。Sleuth提供了一种跟踪方式,可以追踪分布式系统中的请求流,以及这些请求流程的调用链,包括每个请求的源和目标。
堕落飞鸟
2023/04/11
5690
在openstck中配置使用cloud-init
cloud-init是在创建虚拟机时能够对虚拟机进行一些初始化操作的工程。在虚拟机启动的时候,对虚拟机进行一些列的操作,例如常用的:自动设置 虚拟机hostanme,设置虚拟机用户初始密码,自动安装软件等。OpenStack也支持配置cloud-init,本文介绍如何在openstack中使用cloud-init以及部分源码分析。
虚拟化云计算
2018/04/08
2.5K0
在openstck中配置使用cloud-init
使用 Foundry 开发环境
Foundry 是一个全新的 EVM 开发环境。有了 Solidity-native 测试能力(使用原生的 Solidity 编写测试),强大的命令行工具和高性能的 Rust 工具,Foundry 更值得大家学习,翻译一篇 Foundry 的使用指南文章。
Tiny熊
2022/11/07
1.2K0
使用 Foundry 开发环境
Cloud Foundry剥离促进PaaS市场日益活跃
寻求产业标准的企业IT专家在开始部署新的技术之前,会发现不和谐的方案,新开源PaaS基金会加重了这种倾斜。Cloud Foundry基金会上周从Pivotal剥离,向现有的方案下了挑战书,旨在创建开源平台即服务(PaaS)产品,包括针对OpenStack和红帽的OpenShift平台开发的产品。Cloud Foundry在Apache 2.0下已经拥有了开源PaaS许可,但是现在其以前的持有方Pivotal允许其他厂商协作,参与其Cloud Foundry的治理。基金会成员包括EMC、惠普、IBM
静一
2018/03/16
9160
点击加载更多

相似问题

在Python Flask Cloud Foundry中添加Java

20

在使用Eclipse Cloud Foundry插件时使用NoClassDefFoundError

10

在Cloud Foundry中将Java应用程序绑定到MySQL

21

在Cloud Foundry Java API中获取服务密钥

15

解释Cloud Foundry

41
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档