什么是进程,什么是线程
进程:是系统资源调度的最小单位 进程我理解为是 点击一个 .exe文件后 ,内存会为进程分配资源,比如说空间,文件等资源。
线程:是CPU调度执行的最小单元 多个线程之间共享同一个进程空间,但是每一个线程有着自己的计算任务。
大体来说,一个程序进入到内存中,内存就会为其分配资源,那么线程就会共享这些资源,其本身 只具有计算功能,说白了就是一堆指令
线程的实现方式
1.通过继承Thread类
结果示例
为什么会出现这种情况呢?? 我觉得是 CPU的多核造成的,就是说一个CPU有多个ALU计算单元,也有对应的份数的寄存器和程序计数器(PC),那么到底是谁先完成就具有了随机性。(注意辨析超线程的概念)
2.实现Runnable接口创建线程
源码里中是如何定义 Runnable接口的
====================================================================================================================================================================================================================================
有参构造
我这里的理解是 通过 这个Runnable接口 来构造Thread对象.
首先 调用start()方法一定运行run()方法,但这是Runnable接口的run()方法
做完这个测试案例,说一下我对接口的理解: Runnable接口中也有一个run方法,我是不是可以这样认为,此方法创建线程其实和继承Thread类差不多, 但是由于某些差异化的要求,(我不想继承或者我不能继承的情况下),我使用接口来创建线程。
使用方法一是不能够共享对象的,需要创建2个对象,但是方法二可以共享runnable接口的实例。