@Data
@Accessors(chain = true)
public class PpcProcessResult {
public static volatile int globalThreadStatus = DEFAULT_PPC_THREAD_STATUS;
private String host;
private Integer port;
private Boolean isDebug;
private Integer threadStatus; public synchronized static void setBusy(int tid){
globalThreadStatus = globalThreadStatus | (1 << tid);
} public synchronized static void setIdle(int tid){
globalThreadStatus = globalThreadStatus & (~(1 << tid));
} public synchronized static boolean isBusy(int tid){
return (1 << tid) == ((1 << tid) & globalThreadStatus);
} public synchronized static Integer getIdleTid(){
if(globalThreadStatus >= BUSY_PPC_THREAD_STATUS){
return null;
}
int tid = 1;
//如果繁忙,则自增继续,直到取出status等于0
int status = 1 << tid;
while ((status & globalThreadStatus) != 0){
status = status << 1;
tid++;
}
return tid;
}
}

随机推荐

  1. 2023年5月中国数据库排行榜:OTO组合回归育新机,华为高斯蓄势待发展雄心

    路漫漫其修远兮,吾将上下而求索. 2023年5月的 墨天轮中国数据库流行度排行 火热出炉,本月共有262个数据库参与排名.本月排行榜前十变动较大,可以用一句话概括为:openGauss 立足创新夺探花 ...

  2. 使用DBeaver连接高斯100数据库 gaussdb100

    1. 自定义驱动 参考:DBeaver配置GaussDB 100指导手册-云社区-华为云 (huaweicloud.com) 搜索_华为云 (huaweicloud.com) DBeaver连接华为高 ...

  3. Android复习(二)应用资源——>可绘制对象资源

    可绘制对象资源是图形的一般概念,是指可在屏幕上绘制的图形,以及可使用 getDrawable(int) 等 API 检索,或应用到拥有 android:drawable 和 android:icon  ...

  4. select语句

    SELECT语句可以从表中选择数据 SELECT <列名1>,<列名2> as "aaa" FROM <表名>; 查询两列数据SELECT * ...

  5. Oracle问题:alter update modify 的区别是什么?

    首发微信公众号:SQL数据库运维 原文链接:https://mp.weixin.qq.com/s?__biz=MzI1NTQyNzg3MQ==&mid=2247486480&idx=1 ...

  6. day13-JavaDoc

    JavaDoc JavaDoc命令是用来生成自己API文档的 参数信息 @author 作者名 @version 版本号 @since 指明需要最早使用的jdk版本 @param 参数名 @retur ...

  7. 初探AI之got-ocr2.0大模型本地部署与遇到的各种坑处理

    一.环境搭建 1.安装cuda,本人使用的是12.1版本,下载地址:https://developer.nvidia.com/cuda-12-1-1-download-archive 2.安装cond ...

  8. Rsync 秒杀一切备份工具,你能手动屏蔽某些目录吗?

    引言 Rsync 是一种快速且通用的命令行实用程序,可通过远程shell在两个位置之间同步文件和文件夹. 使用 Rsync,可以镜像数据,创建增量备份,并在系统之间复制文件.复制数据时,你可能要根据文 ...

  9. 如何使用git上传代码github仓库

    本文对于Windows系统上git的安装及基本使用方法进行简单介绍,并介绍如何使用git将仓库中的项目上传至个人的Github中去. 1.打开git 打开你想上传文件的位置,然后选择git bash ...

  10. 万星开源项目:System Design Primer - 学习系统设计的必备指南

    GitHub 链接:https://github.com/donnemartin/system-design-primer 什么是 System Design Primer? System Desig ...