https://bbs.csdn.net/topics/392306561 写道
对于web站点,应该避免多线程,
因为web服务器本身就是多线程响应请求的,
如果你收到某个用户的请求后,在请求里又起了多线程,
首先,这样做只能导致单个请求的处理时长变长了,因为多了CPU上下文切换时间;
其次,单个请求发起的多线程会影响接受用户请求的线程数量。
如果发起的多线程是处理io操作,那么是有效的,如果不存在io操作,纯cpu计算的代码,启动多线程是没有什么意义的,
这种情况下应该考虑通过消息队列转发到其它进程处理,然后当前请求快速返回,
具体业务具体分析,没有什么一成不变的
~~~~~~~~~
如果本身就是一个基于HTTP的请求,那么多线程的事就是让 servlet 容器完成,你要处理的是单个线程下的逻辑
如果不是http项目,那就要自己启动线程,或者利用线程池
~~~~~~~~~~
1、部署架构:可以考虑反向代理
2、开发架构:支持多线程,考虑用线程池
3、数据架构:可以考虑做数据缓存,考虑流行的redis等
因为web服务器本身就是多线程响应请求的,
如果你收到某个用户的请求后,在请求里又起了多线程,
首先,这样做只能导致单个请求的处理时长变长了,因为多了CPU上下文切换时间;
其次,单个请求发起的多线程会影响接受用户请求的线程数量。
如果发起的多线程是处理io操作,那么是有效的,如果不存在io操作,纯cpu计算的代码,启动多线程是没有什么意义的,
这种情况下应该考虑通过消息队列转发到其它进程处理,然后当前请求快速返回,
具体业务具体分析,没有什么一成不变的
~~~~~~~~~
如果本身就是一个基于HTTP的请求,那么多线程的事就是让 servlet 容器完成,你要处理的是单个线程下的逻辑
如果不是http项目,那就要自己启动线程,或者利用线程池
~~~~~~~~~~
1、部署架构:可以考虑反向代理
2、开发架构:支持多线程,考虑用线程池
3、数据架构:可以考虑做数据缓存,考虑流行的redis等
~~~~~~~
单一功能不需要多线程
web服务器本身就是多线程,你编写的功能的代码已经是单线程范围了。
web服务器本身就是多线程,你编写的功能的代码已经是单线程范围了。
相关推荐
在IT领域,多线程和高并发是两个关键的概念,特别是在服务器端开发、分布式系统以及高性能计算中。这里,我们主要探讨的是如何通过编写多线程并发程序来优化应用程序的性能,提高系统的处理能力。 首先,多线程是指...
高并发与多线程 Stargazers over time 线程 线程的创建和启动 线程的sleep、yield、join 线程的状态 代码在 部分。 synchronized关键字(悲观锁) synchronized(Object) 不能用String常量、Integer、Long。 锁住的是...
Java 高并发多线程编程系列案例代码 & 教程 & 面试题集锦! !! 包括但不限于线程安全性, atomic包下相关类、CAS原理、Unsafe类、synchronized关键字等的使用及注意事项,
java多线程与高并发java多线程与高并发java多线程与高并发
多线程与高并发是计算机科学中非常重要的两个概念,它们在提高软件程序的性能、响应速度和资源利用率方面起着至关重要的作用。在当今的互联网时代,特别是在产业互联网和5G技术的推动下,多线程和高并发的应用变得...
这个"高并发多线程处理demo-java.rar"压缩包提供了一个实际的Java实现,展示了如何构建一个并发队列来接收数据,并通过多线程进行处理。以下是对这个实例中的知识点进行的详细解释: 1. **Java多线程**:Java通过`...
在IT领域,多线程和高并发是两个关键概念,特别是在Java编程中,它们对于构建高效、可扩展的系统至关重要。下面将详细解释这两个概念及其在Java中的实现和应用。 多线程是指在一个应用程序中同时运行多个独立的执行...
基于socket epoll的高并发下多线程日志收集程序,可达到10000并发量而不丢失数据
并发库高级应用\多线程\Java
多线程高并发马士兵老师的课堂笔记
多线程高并发中高级工程师进阶课程,讲述多线程面试中常见问题,剑指offer中经典多线程题型汇总,注意只专注多线程模块
linux下完整的epoll多线程高并发服务器代码
关于Java中的高并发和多线程面试专题,以下是详细的知识点: 1. Synchronized的使用和原理 Synchronized是Java中的一个关键字,用于实现线程间的同步。它是由JVM实现的一种控制线程访问共享资源的机制。当一个方法...
为了满足高并发访问的需求,开发人员常采用多线程技术来构建高效、响应迅速的服务端应用程序。本文将深入探讨多线程服务器的基本原理、线程的基础知识以及如何利用多线程技术来构建并发服务器。 #### 二、线程基础...
这有助于检测并发控制机制(如锁、信号量)是否有效,以及服务器如何处理高并发负载。 **文件名称列表解析** 由于提供的压缩包子文件名为"API测试工具",我们可以推测这个压缩包可能包含一个或多个用于API测试的...
在现代软件开发中,多线程并发技术是提高程序性能和响应速度的关键因素之一。随着计算机硬件的性能持续提升,程序也必须能够有效地利用多核处理器来实现真正的并行处理。JVM(Java虚拟机)作为Java应用程序的运行...
1. **线程与并发**:多线程允许程序同时执行多个任务。在Python中,可以使用`threading`库创建和管理线程。每个线程可以独立地运行Tesseract OCR对一个图像进行识别,从而实现并发处理。 2. **任务队列**:为了有效...
在IT行业中,Linux多线程高并发服务器设计是构建高性能网络服务的核心技术之一。这种设计模式主要用于处理大量的并发连接请求,充分利用系统资源,提供高效稳定的服务。以下将详细阐述相关知识点: 1. **多线程**:...
4. 当一个线程进入一个对象的一个 synchronized 方法后,其它线程是否可进入此对象的其它方法? 5. 简述 synchronized 和 java.util.concurrent.locks.Lock 的异同? 6. 概括的解释下线程的几种可用状态。