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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© SHISY 中级黑马   /  2015-6-17 23:28  /  479 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

1.线程:是依赖于进程的执行绪(执行路径/控制单元),是程序使用CPU的基本单位。
2.进程:当前正在执行的程序,代表一个应用程序在内存中的执行区域。
3.多进程:同一时间段内执行多个任务。同一时刻只能执行一个任务。如Windows为代表的操作系统。
----多进程并不提高某个程序的执行速度,仅仅是提高了CPU的使用率。真正的多进程执行是指多核同时计算。
4.线程分类:
---单线程:一个进程中,只有一个线程执行。
---多线程:同一个进程中,多个线程执行。这多个线程共享该进程资源(堆内存与方法区),单栈内存独立,即每一个线程占用一个栈。
5.线程两种调度模型:
---分时调度模型:所有线程轮流使用 CPU 的使用权,平均分配每个线程占用 CPU 的时间片。
---抢占式调度模型:优先让优先级高的线程使用 CPU,如果线程的优先级相同,那么会随机选择一个。(线程随机性)
---Java使用的为抢占调度模型。
6.线程并行与线程并发
---线程并行:正常的多线程执行就是线程并行。即逻辑上同一时间同时运行。
---线程并发:由于线程抢占而不应出现的某一时刻的线程及相关数据状态。如并发修改异常的产生。
8.JVM的启动支持多线程:
---JVM启动至少启动了垃圾回收线程和主线程,所以是多线程的。
---Java命令会启动java虚拟机,启动JVM,等于启动了一个应用程序,也就是启动了一个进程。该进程会自动启动一个 “主线程”,然后主线程去调用某个类的 main 方法。所以 main方法运行在主线程中。

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马