浅谈高并发
是指可以让软件系统在一段时间内能够处理大量的请求。比如每秒钟可以完成100万个请求
每年的双十一的购物网站和app就会出现高并发的现象,这已经见怪不怪了哈哈哈
下面我用代码来带大家体验一下高并发对cpu的消耗
方式一:
package com.thread;
/**
* @author 邓亚非
* 模拟高并发
*/
public class HighConcurrency extends Thread{
public static void main(String[] args) {
// 创建线程
HighConcurrency highConcurrency1=new HighConcurrency();
HighConcurrency highConcurrency2=new HighConcurrency();
HighConcurrency highConcurrency3=new HighConcurrency();
HighConcurrency highConcurrency4=new HighConcurrency();
HighConcurrency highConcurrency5=new HighConcurrency();
HighConcurrency highConcurrency6=new HighConcurrency();
HighConcurrency highConcurrency7=new HighConcurrency();
HighConcurrency highConcurrency8=new HighConcurrency();
// 启动线程
highConcurrency1.start();
highConcurrency2.start();
highConcurrency3.start();
highConcurrency4.start();
highConcurrency5.start();
highConcurrency6.start();
highConcurrency7.start();
highConcurrency8.start();
//
// for (int i = 0; i < 1000000000; i++) {
// HighConcurrency highConcurrency=new HighConcurrency();
// highConcurrency.start();
// }
}
@Override
public void run() {
for (int i = 0; i <1000000000 ; i++) {
System.out.println(i);
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}
启动线程看一下我们后台的进程当中的cpu红了没有
后面我就不敢试了我怕电脑卡死
方式二:
方式二更加的恐怖,创建亿个线程同时启动,非常的恐怖的,我都不干事,因为电脑真的会卡死,你们感兴趣的可以去试
package com.thread;
/**
* @author 邓亚非
* 模拟高并发
*/
public class HighConcurrency extends Thread{
public static void main(String[] args) {
// 创建线程
HighConcurrency highConcurrency1=new HighConcurrency();
HighConcurrency highConcurrency2=new HighConcurrency();
HighConcurrency highConcurrency3=new HighConcurrency();
HighConcurrency highConcurrency4=new HighConcurrency();
HighConcurrency highConcurrency5=new HighConcurrency();
HighConcurrency highConcurrency6=new HighConcurrency();
HighConcurrency highConcurrency7=new HighConcurrency();
HighConcurrency highConcurrency8=new HighConcurrency();
// 启动线程
// highConcurrency1.start();
// highConcurrency2.start();
// highConcurrency3.start();
// highConcurrency4.start();
// highConcurrency5.start();
// highConcurrency6.start();
// highConcurrency7.start();
// highConcurrency8.start();
for (int i = 1; i < 1000000000; i++) {
HighConcurrency highConcurrency=new HighConcurrency();
highConcurrency.start();
}
}
@Override
public void run() {
for (int i = 0; i <1000000000 ; i++) {
System.out.println(i);
}
}
}