发表于: 2020-05-20 23:55:53
1 1530
今天完成的事情:
1. 修改任务5代码 重新提交
2. 下载了badboy
掌握了 录制所需的的程序
还可以把录制好的步骤,打包成jmx文件 放到jmter运行
3.下载了jmter
jmter就是一个测压软件 用来模拟多名用户行为访问的
测试基本步骤
1. 右击“测试计划”——“添加——线程组
这里控制循环次数
2. 右击线程组,“添加”——“配置元件”——“http请求默认值”
http请求 可以设置 访问网址 也可以添加参数(添加参数也可以)
3.右击“线程组”——“添加”——“Sampler”——“http请求
路径记得加/ 可以跟同一网址的不同页面
4.右击“线程组”——“添加”——“监听器”——自选
我选了仨
结果树 查看你访问出的页面返回结果 请求头及请求体等内容
汇总报告 如图
聚合报告
每一列的含义分别表示请求名称,请求总数,请求的平均响应时间(毫秒),50%的请求的响应时间,90%的请求的响应时间,95%的请求的响应时间,99%的请求的响应时间,最小的响应时间,最大的响应时间,错误的请求率(错误请求数/总的请求数),吞吐量(每秒处理的请求数),接收的字节速率,发送的字节速率。
还有很多监听器 , 根据需求来选
3. 学习多线程知识
程序:指令和数据有序集合,是系统进行资源分配和调度的一个独立单位。
进程: 程序的一次执行过程
线程:线程是独立的操作进程,是程序执行流的最小单元。一个进程可以有若干个线程(至少有一个)
并行:并行指的是同一时刻,多个指令在多台处理器上同时运行。
并发:并发指的是同一时刻只能有一条指令执行,但多个进程指令被快速轮换执行,看起来就好像多个指令同时执行一样。)
线程执行顺序:线程执行顺序由cpu调度器安排,不能人为干预
对于同于一份操作 会存在资源抢夺问题,需要假如并发控制
线程会带来额外开销(cpu调度时间,并发控制开销)
创建多线程的三种方式:
1、继承Thread类,重写该类的run()方法。
public class testThred extends Thread {
//继承thred类 重写run方法 调用start开启线程
//线程开启不一定立即执行,由cpu调度器调度
@Override
public void run() {
for (int i = 0; i < 1000; i++) {
System.out.println("run执行10次了");
}
}
public static void main(String[] args) {
//创建一个线程对象
testThred T =new testThred();
//调用start方法
T.start();
for (int i = 0; i < 1000; i++) {
System.out.println("main方法运行了10次");
}
}
}
2、实现Runnable接口
//创建线程方式2 实现runnable接口,重写run方法,执行线程需要丢入runnable接口实现类,调用start
public class testThred3 implements Runnable{
//实现runnable类 重写run方法 调用start开启线程
//线程开启不一定立即执行,由cpu调度器调度
@Override
public void run() {
for (int i = 0; i < 1000; i++) {
System.out.println("run执行10次了");
}
}
public static void main(String[] args) {
// 创建runnable接口的实现类对象
testThred3 T3 =new testThred3();
// 创建线程对象 通过线程对象开启我们的线程 代理
// Thread thred = new Thread(T3);
// thred.start();
// 上面俩二合一
new Thread(T3).start();
for (int i = 0; i < 1000; i++) {
System.out.println("main方法运行了10次");
}
}
}
3、使用Callable和Future接口创建线程。
这个只了解,没有写实现
其他了解命令
thred.sleep (xx) 线程睡眠
顾名思义 暂时停止线程运作
thred.start() 用来启动线程,真正实现了多线程运行。
start方法的作用就是将线程由NEW状态,变为RUNABLE状态。当线程创建成功时,线程处于NEW(新建)状态,如果你不调用start( )方法,那么线程永远处于NEW状态。调用start( )后,才会变为RUNABLE状态,线程才可以运行。
实现的run()方法 当作普通方法的方式调用
run( )其实是一个普通方法,只不过当线程调用了start( )方法后,一旦线程被CPU调度,处于运行状态,那么线程才会去调用这个run()方法;
明天计划的事情:
把多线程的剩余知识学完 继续任务
评论