1. 程式人生 > >Tomcat設定成NIO時,使用的執行緒池

Tomcat設定成NIO時,使用的執行緒池

設定成NIO時, <Connector port="8088" protocol="org.apache.coyote.http11.Http11NioProtocol" 
maxThreads屬性是沒用的,因為預設使用的是NIO的執行緒池,除非你使用了executor屬性,設定了特定的執行緒池

本人已進行過測試,使用Http11NioProtocol,同時將maxThreads設成200,讓後進行1000個併發請求,仍然可以通過,設定成http1.1時是會報錯的

另外,某些tomcat文件中說Http11NioProtocol會犧牲一點效能,筆者對比了使用NIO和預設htttp/1.1的效能差別,使用Http11NioProtocol時設定執行緒池最大活躍執行緒為1000,使用Http11時設定maxThreads為1000,效能差別不大。

參考:
http://tomcat.apache.org/tomcat-6.0-doc/config/http.html

相關推薦

Tomcat設定NIO使用的執行

設定成NIO時, <Connector port="8088" protocol="org.apache.coyote.http11.Http11NioProtocol"  maxThreads屬性是沒用的,因為預設使用的是NIO的執行緒池,除非你使用了executo

一個類有兩個方法其中一個是同步的另一個是非同步的; 現在又兩個執行A和B請問:當執行A訪問此類的同步方法執行B是否能訪問此類的非同步方法?

一個類有兩個方法,其中一個是同步的,另一個是非同步的;現在又兩個執行緒A和B,請問:當執行緒A訪問此類的同步方法時,執行緒B是否能訪問此類的非同步方法? 答案:可以 驗證 package com.my.test2; public class ClassA { public syn

Java NIO與IO的區別和比較NIO與IO執行效能比較

     傳統的socket IO中,需要為每個連線建立一個執行緒,當併發的連線數量非常巨大時,執行緒所佔用的棧記憶體和CPU執行緒切換的開銷將非常巨大。使用NIO,不再需要為每個執行緒建立單獨的執行緒,可以用一個含有限數量執行緒的執行緒池,甚至一個執行緒來為任意數量的連線服務。由於執行緒數量小於連線數量,所

tomcat設定https埠8443和443的區別

1. 8443埠在訪問時需要加埠號,相當於http的8080,不可通過域名直接訪問,需要加上埠號;https://xiangye.com:8443。 2. 443埠在訪問時不需要加埠號,相當於htt

day 34 GIL鎖執行佇列執行執行回撥函式

一 . GIL鎖   GIL鎖是python程式碼轉直譯器程式碼的一個鎖         雖然我們加鎖的原因是因為要保護安全性從而降低了效率,但是加鎖也會出現安全性的問題!         二 . 執行緒佇列   import queue   三種佇列形式

java 多執行執行

如果執行緒數量<=核心執行緒數量,那麼直接啟動一個核心執行緒來執行任務,不會放入佇列中。 如果執行緒數量>核心執行緒數,但<=最大執行緒數,並且任務佇列是LinkedBlockingDeque的時候,超過核心執行緒數量的任務會放在任務佇列中排隊。 如果執行緒數量>核心執行緒數,

10.執行執行的區別執行有哪些什麼情況下使用

一:執行緒和執行緒池的區別 (1)new Thread 的弊端       a. 每次new Thread時,新建物件效能差。       b. 執行緒缺乏統一管理,可能無限制新建執行緒,相互之間競爭,可能佔用過多系統資源導致宕機或oom。       c. 缺乏更多功能

11.執行的狀態執行的構造方式執行的特性

一:執行緒的狀態 (1)初始狀態         實現Runnable介面和繼承Thread可以得到一個執行緒類,new一個例項出來,執行緒就進入了初始狀態。 (2) 就緒狀態       1)就緒狀態只是說你資格執行,排程程式沒有挑選到你,你就永遠是就緒狀態。

執行(十一)兩種傳統傳統方式建立:(thread、Runnable) 執行方式ExcutorServicePool

傳統方式建立執行緒: 1、繼承Thread類,重寫run方法 2、實現Runnable介面,覆蓋介面中的run方法,然後將介面實現扔給Thread run方法探祕: Thread原始碼中的run方法,如下: @Override public void run

JAVA基礎24-多執行(四)【讀寫鎖阻塞佇列執行

一、讀寫鎖   使用步驟 二、阻塞佇列 (BlockingQueue) 提供執行緒安全的佇列訪問方式; 當阻塞佇列進行插入資料時,若佇列滿,則執行緒阻塞,直到佇列非滿的時候 當阻塞佇列取資料時,若佇列為空,則執行緒阻塞直到佇列非空時候。

(四)java 執行執行的使用

為什麼要使用執行緒池?    建立執行緒是簡單的,但啟動後的執行緒猶如脫繮野馬,難於管理,特別是多執行緒使用場景,執行緒之間的互相競爭,可能使 cpu 花費更多時間在各個執行緒之間切換,而且執行緒結束後的回收由垃圾回收控制,你不知道工作結束的執行緒還會存活多久,是否持有著什麼資源。而

idea中依賴RxJava的Lambda表示式執行的建立

需求示例: 將字串jfkdjfiejfijslafjljf jsdfjweipakkgo greogk lkll xmldmg 放入本地Resources檔案目錄下,打印出重複字

程序執行

池的概念由於伺服器的硬體資源“充裕”,那麼提高伺服器效能的一個很直接的方法就是以空間換時間,即“浪費”伺服器的硬體資源,以換取其執行效率。這就是池的概念。池是一組資源的集合,這組資源在伺服器啟動之初就完全被建立並初始化,這稱為靜態資源分配。當伺服器進入正式執行階段,即開始處理客戶請求的時候,如果它需要相關的資

Android面試題總結(四)執行執行執行

1.開啟執行緒的三中方式?https://blog.csdn.net/longshengguoji/article/details/41126119(轉)https://blog.csdn.net/u012973218/article/details/51280044(轉)2

百度面試題之 啟動執行方式有哪幾種執行有哪幾種

1、啟動執行緒方式: 要啟動的可以分為兩類:返回結果和不返回結果。對於這兩種,也分別有兩種啟動執行緒的方式: 1)繼承Thread類,implements Runnable介面 2)實現Callable介面通過FutureTask包裝器來建立Thread執行緒、使用Ex

守護執行執行執行ThreadLocal

守護執行緒   守護執行緒是一類特殊的執行緒,它和普通執行緒的區別在於它並不是應用程式的核心部分 ,當一個應用程式的所有非守護執行緒終止執行時,即使仍然有守護執行緒在執行,應用程式 也將終止,反之,只要有一個非守護執行緒在執行,應用程式就不會終止。守護執行緒一般被 用於在後

Python併發程式設計(十一):程序執行協程

目錄 注意 二、執行緒池 協程的本質 注意 1、不能無限的開程序和執行緒,最常用的就是開程序池,開執行緒池。 2、其中回撥函式非常重要,回撥函式其實可以作為一種程式設計思想,函數語言程式設

socket執行(TCP通訊)

Server 1 package day20150914socket; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; impo

連線執行 概念

資料庫連線池    引數介紹:     name:表示你的連線池的名稱也就是你要訪問連線池的地址     auth:是連線池管理權屬性,Container表示容器管理     type:是物件的型別  

執行(一)——執行執行Task概念+程式碼實踐

# 執行緒(一)——執行緒,執行緒池,Task概念+程式碼實踐 [toc] ## 摘要 執行緒中的概念很多,如果沒有程式碼示例來理解,會比較晦澀,而且有些概念落不到實處,因此,本文以一些執行示例程式碼,結果來闡述執行緒中的一些基礎概念。讓自己跟讀者一起把執行緒中的概念理解地更深刻。 ## 1 執行緒安