点击进入_更多_Java千百问

1、阻塞、非阻塞有什么区别

在进行网络编程时,我们通常会看到同步、异步、阻塞、非阻塞四种调用方式以及他们的组合。
了解同步、异步看这里:同步、异步有什么区别
其中阻塞方式、 非阻塞方式主要是针对服务端(server)的,具体如下:

阻塞(Block)

阻塞调用是指调用结果返回之前,当前线程会被挂起。挂起即线程进入非可执行状态,在这个状态下,cpu不会给线程分配时间片,即线程暂停运行。

了解线程的状态看这里:线程的状态有哪些
阻塞调用会让线程一直进行等待,当调用没有执行完就有另一次请求,这是会开启一个新的线程来执行,会占用更多的线程资源。

由于阻塞线程的大部分时间都浪费在等待请求上

Java千百问_01基本概念(015)_阻塞、非阻塞有什么区别相关推荐

  1. Java千百问_01基本概念(007)_线程的状态有哪些

    点击进入_更多_Java千百问 1.线程的状态有哪些 在java中java.lang.Thread类有一个变量threadStatus,标示了该线程的当前状态,它是一个int类型,但是对应的get方法 ...

  2. Java千百问_01基本概念(012)_Socket是什么

    [点击进入_更多_Java千百问][1] [1]: http://blog.csdn.net/ooppookid/article/category/6134850 ###1.什么是Socket Soc ...

  3. Java千百问_01基本概念(003)_J2EE里面的2是什么意思

    J2EE里面的2是什么意思 J2SE,J2SE,J2ME中2的含义要追溯要1998年. 1998年Java 1.2版本发布,1999年发布Java 1.2的标准版,企业版,微型版三个版本,为了区分这三 ...

  4. Java千百问_07JVM架构(015)_XmnXmsXmxXss有什么区别

    点击进入_更多_Java千百问 1.XmnXmsXmxXss有什么区别 首先,Xmn.Xms.Xmx.Xss都是JVM对内存的配置参数,我们可以根据不同需要区修改这些参数,以达到运行程序的最好效果. ...

  5. Java千百问局部变量、类变量、实例变量有什么区别

    Java千百问局部变量.类变量.实例变量有什么区别 局部变量.类变量.实例变量有什么区别 在聊局部变量.类变量.实例变量有什么区别之前,我们需要了解一下Java变量. 1.Java变量是什么 在数学世 ...

  6. Java千百问_03基本语法(002)_java都有哪些关键字

    java都有哪些关键字 首先我们来看看什么是关键字,关键字的含义. 1.java关键字是什么意思 关键字是电脑语言里事先定义的,有特别意义的特殊标识符,又叫保留字. Java的关键字对Java的编译器 ...

  7. Java千百问_03基本的语法(005)_二进制是如何做位运算的

    点击进入_很多其它_Java千百问 二进制是如何做位运算的 程序中的全部数在计算机内存中都是以二进制的形式储存的.位运算说白了,就是直接对整数在内存中的二进制位进行操作. 其它运算符看这里:java种 ...

  8. Java千百问_07JVM架构(009)_什么是新生代的复制算法

    点击进入_更多_Java千百问 1.什么是新生代的复制算法 了解堆内存看这里:java堆内存是什么样的 了解java垃圾回收看这里:java垃圾回收机制是什么 所谓复制算法(Copying),即将内存 ...

  9. Java千百问_07JVM架构(001)_java内存模型是什么样的

    1.什么是内存模型 Java平台自动集成了线程以及多处理器技术,这种集成程度比Java以前诞生的计算机语言要厉害很多.Java针对多种异构平台的独立性,使得多线程技术也具有了开拓性的一面.  我们有时 ...

  10. Java千百问_05面向对象(004)_java接口到底是什么

    1.什么是接口 接口(interface)不是一个类,它是抽象方法的集合.一个类实现一个接口,从而继承和实现接口的抽象方法.  抽象方法看这里:java中抽象概念如何体现的 接口的特点如下,先看与类类 ...

最新文章

  1. java程序无法连接redis 正常启动但是无法访问
  2. vue 修改div宽度_vue 拖动调整左右两侧div的宽度
  3. 用dw中html设置背景,Dreamweaver 教程-CSS背景属性(background)
  4. 机器学习入门学习笔记:(2.2)线性回归python程序实现
  5. java递归方法调用自己_java – 同步方法调用自身递归 这破了吗
  6. 一个(伪)MaterialDesign风格的博客园皮肤
  7. Flink 1.9 CDH 6.3 集成
  8. linux系统中-E,-S,-c的区别和作用(怎么讲代码转化为机器识别的语言)
  9. 七年阿里老人谈新人程序员的成长
  10. php use 使用变量,php闭包中使用use声明变量的作用域实例分析
  11. SQL SERVER CHAR ( integer_expression )各版本返回值差异的案例
  12. Java 书籍 Top 10
  13. 刺客信条3免uplay破解补丁
  14. 分享97个社区论坛PHP源码,总有一款适合你
  15. 自底向上和自顶向下的区别
  16. 蚂蚁金服 Service Mesh 大规模落地系列 - 网关篇
  17. 学习java数组的练习代码
  18. 移动端安全 | Windows11安卓子系统进行APP抓包(踩坑文)
  19. 高性价比WIFI图传方案快速入门教程
  20. 利用python实现修改阿里云DNS值解析

热门文章

  1. 正则去除html标签和空字符,正则表达式清除空格和html标签中的 空格
  2. 《英语语法新思维初级教程》学习笔记(七)五种基本句型
  3. 基于word2vec的QA demo
  4. pt-osc在线重建表导致死锁的分析及对应的优化方案
  5. 小技巧丨累了困了学不下去的时候该怎么办?
  6. 启动计算机时听到嘀嘀声,笔记本电脑开机嘀嘀滴声音如何解决
  7. ubantu 安装jekins
  8. STM32F103_study56_The punctual atoms(STM32 PWM output experimental code analysis)
  9. win7 linux 虚拟机共享文件夹,Win7主机和虚拟机Linux Virtualbox共享文件夹设置教程...
  10. ubuntu 20.04 安装腾讯官方微信