java中的线程和操作系统中的线程一样吗,多线程是多个线程同时运行还是一个时间点运行一个线程?

如题所述

java中的线程跟操作系统的是不一样的,因为java使用了虚拟机。一个CPU一个时刻只能运行一个线程。多CPU的话,也许能让多个线程在各个CPU上同时跑,这要看线程能不能同时运行,有没有抢占资源之类的。追问

操作系统中不是一个时刻只能运行一个线程吗?

追答

操作系统是调度线程的,将一个线程放到cpu执行。如果有多个cpu,当然可以同时运行多个线程。

温馨提示:内容为网友见解,仅供参考
第1个回答  2012-10-25
从规范来说,线程就是java线程,你不需要直到是不是和操作系统的线程一样,你也不应该知道,因为有些系统上是模拟的,有些是直接使用操作系统的。

从实现来说,目前在多数系统上是一样的。

宏观来看是同一时间多个线程在运行,围观到cpu时间,那就是一个cpu时间内,只有一个线程在运行。本回答被提问者和网友采纳

java中的线程和操作系统中的线程一样吗,多线程是多个线程同时运行还是一...
java中的线程跟操作系统的是不一样的,因为java使用了虚拟机。一个CPU一个时刻只能运行一个线程。多CPU的话,也许能让多个线程在各个CPU上同时跑,这要看线程能不能同时运行,有没有抢占资源之类的。

java的多线程与linux的多线程的关系
这样java线程就和操作系统线程一一对应或多多对应了,这个时候,如果是一一对应,那么线程的调度完全交给了操作系统内核,当然jvm还保留一些策略足以影响到其内部的线程调度,举个例子,在linux下,只要一个Thread.run就会调用一个fork产生一个线程。

java中什么叫做线程?什么叫多线程?多线程的特点是什么?
Java的线程在操作系统的实现模式依系统不同而不同,可能是系统级别的进程或线程,但对于程序员来说并没有影响。任务交互的一个好处是增加程序响应。如一个界面程序执行一段耗时的数据库查询,使用单独的线程可以让界面依然响应用户的其他输入,而单线程只能等待查询结束再处理。JVM以及操作系统会优先处理优先...

多线程真的是多个线程一起运行吗
但按照操作系统理论严格来说,多线程并不是多个线程一起运行的.因为多线程实际上是多个线程之间轮流执行的,就是将一个时间段分成若干个时间片,每个线程只运行一个时间片,由于时间片极短,而且电脑运行极快,线程之间切换也极快,几乎可以看做是并行运行的,也就是说可以看成是同时运行的.但实际却不是的同...

Java中,线程是什么意思,多线程又是什么
在计算机中处理进程之外还有另一个概念就是线程,线程是存在于进程当中,一个进程可以包含多个线程;当我们的计算机有多核处理器的时候,使用多线程可以加快程序的运算速率;如果一个进程中只有一个线程,当程序遇到一个比较耗时的计算的时候,由于程序是单线程的,那么程序只能等待这个运算结束的时候再继续运行...

怎么区分java程序中的单线程与多线程
从逻辑角度来看,多线程的意义在于一个应用程序中,有多个执行部分可以同时执行。但操作系统并没有将多个线程看做多个独立的应用,来实现进程的调度和管理以及资源分配。这就是进程和线程的重要区别。进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程是系统进行资源分配和调度的一个独立...

什么是线程、什么又是多线程 它们之间有什么区别呢?
线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位.线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(如程序计数器,一组寄存器和栈),但是它可与同属一个进程的其他的线程共享进程所拥有的全部资源.一个线程可以创建和撤销另一个线程;同一个进程...

JAVA 的线程这块咋整啊,咋也学不明白啊~~
只有在多CPU 的计算机或者在网络计算体系结构下,将Java程序划分为多个并发执行线程后,同时启动多个线程运行,使不同的线程运行在基于不同处理器的Java虚拟机中,才能提高应用程序的执行效率。另外,如果应用程序必须等待网络连接或数据库连接等数据吞吐速度相对较慢的资源时,多线程应用程序是非常有利的。基于Internet的应用...

Java中多线程在多核CPU中是真的同时执行吗?
如果是单核CPU,在某个时间点只能执行一个线程,但是多核CPU你可以理解为多个单核CPU,当然可以同时执行多个线程啦。

java 中线程是什么东东??
一个线程可以创建和撤消另一个线程,同一进程中的多个线程之间可以并发执行。由于线程之间的相互制约,致使线程在运行中呈现出间断性。线程也有就绪、阻塞和运行三种基本状态。线程是程序中一个单一的顺序控制流程.在单个程序中同时运行多个线程完成不同的工作,称为多线程.线程和进程的区别在于,子进程和父...

相似回答