社区
Java SE
帖子详情
请问一个多线程的JAVA程序,有几个进程?
skyfly2000
2008-04-29 02:33:12
比如我写了一个多线程的JAVA程序
这个程序在执行时,是有几个进程呢?
比如放在四核CPU上执行,是不是只有一个进程?
是不是只有一个核能发挥作用,其他三个核都是空闲的?
...全文
490
15
打赏
收藏
请问一个多线程的JAVA程序,有几个进程?
比如我写了一个多线程的JAVA程序 这个程序在执行时,是有几个进程呢? 比如放在四核CPU上执行,是不是只有一个进程? 是不是只有一个核能发挥作用,其他三个核都是空闲的?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
15 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
q1531
2008-04-29
打赏
举报
回复
就是一个,。这些线程都在一个进程空间。
施兄
2008-04-29
打赏
举报
回复
如果是多处理器的系统,线程还会被分到多个处理器上,这样就能大大提高(指令的)吞吐率了。通常多处理器的Web服务器就是这样做的,它会为每个请求分配一个线程,这样就把多个请求分摊给各个CPU了。
有一点要记住,那就是多线程程序也必须能运行在单CPU系统上。因此,即便不用多线程也应该能写出相同的程序。但是多线程提供了一种非常重要的,程序结构方面的优势,因而能大大简化软件的设计。对于像仿真模拟之类的视频游戏,如果不用多线程,真不知道该怎么解决。
多线程模型大大简化了"让一个程序同时做几件事"这个难题。在多线程环境下,CPU会不断地在线程之间进行切换,给它们分配时间。在线程看来,它能随时获得CPU,但实际上CPU的时间已经被分配给了所有线程。这里有个例外,如果程序是运行在多CPU的系统上,那么线程就真有可能独占整个CPU了。但是多线程最值得称道的还是它的底层抽象,即代码无需知道它是运行在单CPU还是多CPU的系统上。由此,你可以用多线程来创建可透明扩展的程序——如果程序运行得太慢了,直接在机器上加CPU就行了。多任务与多线程是充分利用多处理器系统的好办法。
在单CPU系统里,线程会多少影响程序的运算效率,但是通算下来,它在程序结构,平衡资源以及用户的舒适度方面的优势还是远远超过了性能方面的损失。总之,多线程能令你设计出更为松散耦合(more loosely-coupled)的应用程序;否则,你就得多写很多代码,把那些本应交由多线程去处理的事情揽到自己头上了。
psyl
2008-04-29
打赏
举报
回复
个
人觉得比3G的好点,你Q6600可以超频到3.6G
。 呵呵
skyfly2000
2008-04-29
打赏
举报
回复
谢谢楼上的两位
最后一个傻问题,Q6600是真四核么?它的主频是2.4G
如果用Q6600来跑,会比同用3G的频率的双核效果好么?
最后一个问题,呵呵.一会就结帖
sigmod
2008-04-29
打赏
举报
回复
[Quote=引用 9 楼 skyfly2000 的回复:]
也就是说,我现在写一个JAVA程序,在四核电脑上运行
这个程序只用一个进程,但是是多线程
那么速度比较而言,会比在单核CPU上执行的速度快不少.
我这样理解对么?
能否大致的帮忙估算一下,能快多少哦?
谢谢
[/Quote]
恩,是的,但快多少就很难估算,不光是CPU的问题,
取决于你的系统负载,程序中的IO操作,线程同步的情况,等等。。。
你找个机器跑了测测看吧。。。
anqini
2008-04-29
打赏
举报
回复
一个应用程序一个进程,可以多个线程!不管你用N个处理器,一个JAVA程序就是一个进程,为什么使用多线程效率会高呢?
举个简单的例子,有两个能力相同的人,他们一起做一个任务快,还是一个人做一个任务快?虽然不能代表比一个人做2倍,但是可以说是有了很大的进步!
skyfly2000
2008-04-29
打赏
举报
回复
也就是说,我现在写一个JAVA程序,在四核电脑上运行
这个程序只用一个进程,但是是多线程
那么速度比较而言,会比在单核CPU上执行的速度快不少.
我这样理解对么?
能否大致的帮忙估算一下,能快多少哦?
谢谢
sigmod
2008-04-29
打赏
举报
回复
[Quote=引用 7 楼 skyfly2000 的回复:]
那JAVA如果在一个程序中,分为几个进程呢?
不然多核的优势就没用了
我目前正在考虑是否需要购买多核的电脑呢
请楼上几位多指点哈
[/Quote]
创建进程,需要调用Runtime了,而且如果你多线程需要协同,就变成进程通信了,每个进程有自己独立的地址空间,不能共享变量的
就算只有一个单线程进程,多核也会快点的,CPU对指令流水做了优化,何况你还是多线程进程,但4核就快4倍是理论上不可能的
skyfly2000
2008-04-29
打赏
举报
回复
那JAVA如果在一个程序中,分为几个进程呢?
不然多核的优势就没用了
我目前正在考虑是否需要购买多核的电脑呢
请楼上几位多指点哈
sigmod
2008-04-29
打赏
举报
回复
[Quote=引用 3 楼 skyfly2000 的回复:]
请教SIGMOD一下
那是否意味着,我用JAVA多线程写了一个程序
但是执行效果在多核的电脑上和单核的电脑上是一样的呢?
[/Quote]
多核的肯定会快一些,因为对指令流做了优化,把可以并行的指令并行了
kekeemx
2008-04-29
打赏
举报
回复
ONE进程,可以有N线程
psyl
2008-04-29
打赏
举报
回复
线程跟进程是2个不同的概念。
进程和线程的区别在于:
简而言之,一个程序至少有一个进程,一个进程至少有一个线程.
线程的划分尺度小于进程,使得多线程程序的并发性高。
另外,进程在执行过程中拥有独立的内存单元,而多个线程共享内存,从而极大地提高了程序的运行效率。
你写的那个简单的线程程序只有一个进程,不过它可以有多个线程。跟CPU无关。CPU内核多少只是保证了你进程和线程的执行速度。
skyfly2000
2008-04-29
打赏
举报
回复
请教SIGMOD一下
那是否意味着,我用JAVA多线程写了一个程序
但是执行效果在多核的电脑上和单核的电脑上是一样的呢?
sigmod
2008-04-29
打赏
举报
回复
底层CPU怎么用多核优化指令流是底层的事,CPU是不知道进程的
进程只是OS里的数据结构,一个Java程序就一个进程
sigmod
2008-04-29
打赏
举报
回复
一个进程,跟CPU无关
什么是
多线程
?如何实现
多线程
?
【转】什么是线程安全?怎么实现线程安全?什么是
进程
?什么是线程?什么是线程安全?添加
一个
状态呢?如何确保线程安全?synchronizedlock 转自:https://blog.csdn.net/csdnnews/article/details/82321777 什么是
进程
? 电脑中时会有很多单独运行的
程序
,每个
程序
有
一个
独立的
进程
,而
进程
之间是相互独立存在的。比如下图中的QQ、酷狗播放器、电脑...
java
中有多
进程
吗?
一、前言 在我学习
java
语言的印象中,几乎没有听说过
java
有提到过
进程
方面的知识。学习到的都是
多线程
机制。于是我产生了疑惑,
java
中是不是没有线程?我脑海中有
一个
模糊概念,已经不记得从何时何地获得的了,即在利用
java
虚拟机
java
程序
,
java
虚拟机的运行代表着
进程
,而运行的
java
程序
代表着线程。 二、仅供参考
java
实现的是一种
多线程
的机制,就
java
本身概念而言(虚拟机规范),线程...
java
中多
进程
和
多线程
的基本概念
文章目录一,多
进程
和
多线程
的简介1,多
进程
的概念操作系统如何管理这些
进程
呢?多
进程
的优缺点2,
多线程
的概念
多线程
的优点3,多
进程
和
多线程
的区别二,
多线程
实现1,创建
多线程
的两种方法2,
多线程
启动启动线程应该注意的地方Thread VS Runnable 一,多
进程
和
多线程
的简介 1,多
进程
的概念 我们现在所使用的计算机的操作系统都是多任务的OS,每个独立执行的任务就是
一个
进程
。Ctrl+Alt+. 打开任务管理器,如下图,它们每个都是
一个
进程
。 操作系统如何管理这些
进程
呢? OS将时间划分为多
什么是
Java
程序
的
进程
、线程
对
Java
工程师来说,这里有
一个
问题:什么是
Java
程序
的
进程
呢?
Java
编写的
程序
都运行在
Java
虚拟机(JVM)中,每当使用
Java
命令启动
一个
Java
应用
程序
时,就会启动
一个
JVM
进程
。在这个JVM
进程
内部,所有
Java
程序
代码都是以线程来运行的。JVM找到
程序
的入口点main()方法,然后运行main()方法,这样就产生了
一个
线程,这个线程被称为主线程。当main()方法结束后,主线程运行完成,JVM
进程
也随即退出。
Java
多线程
与注解
1.序列化SerialVesionUID的作用2.枚举类的使用3.什么是注解4.
Java
提供的四种元注解是哪些?有什么作用5.什么是
程序
?什么是
进程
?什么是线程?6.什么是并行?什么是并发?7.
一个
Java
程序
java
.exe至少有
几个
线程?8.创建
多线程
有几种方式?9.继承Thread类方式创建
多线程
10.实现Runnable接口的方式创建
多线程
Java SE
62,623
社区成员
307,257
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章