A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© jonn 高级黑马   /  2013-1-11 18:43  /  1805 人查看  /  7 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 张向辉 于 2013-1-16 12:29 编辑

在看毕老师的视频里,不太清楚java中进程与线程的关系,它们之间到底如何共享数据,写出 示例代码分析下。。。。。

评分

参与人数 1技术分 +1 收起 理由
Rancho_Gump + 1 赞一个!

查看全部评分

7 个回复

倒序浏览
http://www.52rd.com/Blog/Archive_Thread.asp?SID=49748

评分

参与人数 1黑马币 +6 收起 理由
Rancho_Gump + 6 赞一个!

查看全部评分

回复 使用道具 举报
你可以把进程想成一个程序,所有.exe的程序执行后System都记录成一个进程,它是静态的,是一个镜像
线程是程序执行的路径,一个进程中至少要有一个线程。
回复 使用道具 举报
本帖最后由 陈丽莉 于 2013-1-11 20:13 编辑

      一楼的博客很详细了,我就简明扼要说说:
    首先线程是属于进程的,一个进程至少要有一个线程(就是main主函数)。
    我是这样理解的:进程是通过线程来工作的,他们相互依存(当然不是一对一),没有进程,那么里面的线程也就无所谓有无了;而若一个线程都没有,那进程也无从说起。一个进程可以有一个或多个线程,是靠着线程来完成任务的。要说共享数据,也是线程之间的数据共享。
    就像一个班级有很多学生组成,没有学生何来班级,没有班级学生也无从谈起。学生之间可以沟通交流或者共享班级数据,但班级和学生怎么共享数据?班级是包含着学生的呀。。
    明白了进程与线程的关系,就不用再问他们之间如何共享数据了吧~

评分

参与人数 1技术分 +1 收起 理由
Rancho_Gump + 1 赞一个!

查看全部评分

回复 使用道具 举报
打个比方吧,可以把一个人看成一个运行的程序,那么每一个独立的人就是一个进程(相当于每一个正在运行的程序都是一个单独的进程),而每个人身体里都有很多血管,血管就相当于线程,它们依赖于人(相当于线程依赖于进程),但各个血管又相互独立。当一个人出生他就拥有至少1条血管(进程至少要有一个线程),而当一个人挂了后,他的所有血管都会消失(进程结束则所有线程也跟着结束)。

评分

参与人数 1技术分 +1 收起 理由
Rancho_Gump + 1 比喻很好

查看全部评分

回复 使用道具 举报
楼上的哥们比喻犀利啊,赞一个
回复 使用道具 举报
胡勇敏 发表于 2013-1-11 20:19
打个比方吧,可以把一个人看成一个运行的程序,那么每一个独立的人就是一个进程(相当于每一个正在运行的程 ...

你这个。。你这个太有才了!  {:3_49:}
回复 使用道具 举报
陈丽莉 发表于 2013-1-11 21:03
你这个。。你这个太有才了!

;P多谢夸奖。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马