簡體   English   中英

在JAVA中同時運行多個線程

[英]Multiple Threads concurrently running in JAVA

這個問題與Java中的多線程有關。

多線程是為了最大程度地利用cpu。 根據我閱讀的內容,一次只能執行一個線程。 我相信單處理器系統確實如此。 可以同時執行的線程數取決於哪些因素?

例如,如果我使用的是4核處理器,那么可以同時運行多少個線程?

提前致謝。

對於4核處理器,有4個線程,如果處理器中有HyperThreading,則為8個線程。

HyperThreading允許未以100%容量運行的內核在單個內核上運行2個線程。

線程不受可用處理器/核心數量的限制。 操作系統調度程序可以在單個CPU上的任意數量的線程之間來回切換。 這就是搶先式多任務處理的含義。

處理器通常一次只能運行一個線程。 當您有多個進程在運行時,您的處理器會在它們之間快速切換,從而使每個進程都占用了處理器的時間。 這給人一種並發的錯覺,但實際上所有事情都是串行發生的。

因此,如果您有4個核心處理器,則實際上4個線程可以並行運行。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM