多线程学习——认识线程

认识线程

· 进程是系统分配资源的最小单位,线程是系统调度的最小单位。一个进程内的线程之间是可以共享资源的
· Java内存模型多线程学习——认识线程
进程调用系统封api,申请系统分配资源(Java进程就是分配Java内存空间,通过jvm虚拟机初始化共享区域)
线程也存在并发、并行
· new Thread(new Runnable() {。。。})—>创建Thread-0线程
· .start()—>Thread-0由创建态转变为就绪态,等待系统调度,调度到以后转变为运行态(执行run方法中的代码)
多线程学习——认识线程
· 问题:
1)main线程、Thread-0线程是否可以在同一个时间点同时运行-------多个线程的并行
可以
2)两个线程是否可以表现出并发的特征
可以 进程有的特征线程也可以有
· 示例
多线程学习——认识线程
main执行代码行:5(创建Thread和Runnable对象)、10(启动Thread-0)、11(打印)
Thread-0执行代码行:在10行之后执行8打印线程名称
1)11行和8行是可以并行执行的
2)往往11行先执行
原因:main线程执行10行申请启动Thread-0线程时已经时运行态
Java创建线程需要申请操作系统进行系统级别的线程创建以及申请系统调度—》线程的创建是非常耗时的,申请调度也有一定时间

先到这里,加油鸭~