java高并发http_Java高并发-概念

本文介绍了Java高并发的需求背景,如处理多客户端HTTP请求,及Java多线程提高性能。重点讲解了并发并行的概念,同步异步,临界区,阻塞非阻塞,死锁、饥饿和活锁的区别,以及并行的四个级别。此外,还提及了Amdahl定律和Gustafson定律在并行计算中的重要性。
摘要由CSDN通过智能技术生成

一、为什么需要并行

业务要求

http处理多个客户端请求

java虚拟机启动多个线程

进程开销比线程大的多

性能

多线程在多核系统比单线程要好的多

摩尔定律失效

二、几个重要概念

2.1 同步和异步

synchronous,asynchronous

20180405_001.png

2.2 并发和并行

concurrency,parallelism

20180405_002.png

2.3 临界区

临界区用来表示一种公共资源或者说是共享数据,可以被多个线程使用。但是每一次,只能有一个线程使用它,一旦临界区资源被占用,其他线程要想使用这个资源,就必须等待。

2.4 阻塞和非阻塞

blocking,non-blocking

阻塞和非阻塞通常用来形容多线程音的相互影响。比如一个线程占用了临界区资源,那么其它所有需要这个资源的线程就必须在这个临界区中进行等待,等待会导致线程挂起。这种情况就是阻塞。此时,如果占用资源的线程一直不愿意释放资源,那么其它所有阻塞在这个临界区上的线程都不能工作。

非阻塞允许多个线程同时进入临界区。

2.5 死锁、饥饿和活锁

deadlock,starvation,livelock

死锁࿱

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值