发表于: 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()方法;


明天计划的事情:


把多线程的剩余知识学完   继续任务



返回列表 返回列表
评论

    分享到