多线程&高并发jcstress并发测试工具使用教程详解
Posted Roninaxious
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了多线程&高并发jcstress并发测试工具使用教程详解相关的知识,希望对你有一定的参考价值。
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.运行
之
后
会
在
根
目
录
下
生
成
两
个
文
件
,
打
开
i
n
d
e
x
.
h
t
m
l
之后会在根目录下生成两个文件,打开index.html
之后会在根目录下生成两个文件,打开index.html
成功!
以上是关于多线程&高并发jcstress并发测试工具使用教程详解的主要内容,如果未能解决你的问题,请参考以下文章