PpcProcessResult

复制代码
@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;
    }
}
复制代码

 

posted @   牧之丨  阅读(160)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
历史上的今天:
2015-10-12 java中的String.format使用
2015-10-12 android中的ellipsize设置(省略号的问题)
2015-10-12 Textview 文本旋转,倾斜
2013-10-12 Flex中实现类似Javascript的confirm box
点击右上角即可分享
微信分享提示