您当前的位置:首页 > 计算机 > 编程开发 > Java

【多线程&高并发】jcstress并发测试工具使用教程详解

时间:05-15来源:作者:点击数:

1.首先创建一个maven项目

在这里插入图片描述

2.引入jcstress-core依赖

        <dependency>
            <groupId>org.openjdk.jcstress</groupId>
            <artifactId>jcstress-core</artifactId>
            <version>0.14</version>
        </dependency>

3.准备测试代码

import org.openjdk.jcstress.annotations.*;
import org.openjdk.jcstress.infra.results.I_Result;

/**
 * @author:Ronin
 * @since:2021/12/2
 * @email:1817937322@qq.com
 */
@JCStressTest
@State
@Outcome(id = {"1", "4"}, expect = Expect.ACCEPTABLE, desc = "这是期待的结果")
@Outcome(id = "0", expect = Expect.ACCEPTABLE_INTERESTING, desc = "这是不期待的结果")
public class VisibilityTest {

    /**
     * 结果有三种可能 4, 1,0(这个0是因为指令重排)
     */
    private int a = 0;
    private boolean flag = false;
    @Actor
    public void method(I_Result result) {
        if (flag) {
            result.r1 = a * 2;
        } else {
            result.r1 = 1;
        }
    }

    @Actor
    public void method2(I_Result result) {
        a = 2;               //这个地方有可能会发生指令重排,也就是a=2和flag=true互换
        flag = true;
    }

}

4.配置

在这里插入图片描述
在这里插入图片描述

5.运行

之后会在根目录下生成两个文件,打开index.html 之后会在根目录下生成两个文件,打开index.html之后会在根目录下生成两个文件,打开index.html

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

成功!

方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门