线程,线程栈,方法栈,创建线程的区别

1.线程实际就是一个栈,每个线程都有一个名字,例如主线程叫做main线程,但是线程的名字和线程里面的方法栈没有半毛钱关系,线程就是一个空间,里面存的是 指令

2.如何创建线程(以主线程为例)
首先分配一个栈空间,然后压栈(每一个线程在创建的时候,都会有一个主方法栈,也就是说起码得有一个方法栈),而这个方法栈实际和我们普通的调用方法一样,都是从类和对象的方法里面来的
以main线程为例子,jvm分配 主线程空间,调用 对象的 main方法,main方法压栈…,而main方法能获得的资源,现在只有 main方法的那个对象的 属性

同样,我们创建线程,首先得有一个类,对象(实现了 runnable接口的),然后调用创建线程的 api , 此时 jvm 分配一个栈空间,压入,这个对象的 run方法进栈,而这个run方法也是从对象中来的,此刻run方法 只能获得 这个对象的 属性

总而言之,一切都是类和,对象,而线程就是栈空间,栈空间中的 栈帧就是方法栈,这些压栈过程,都是调用的 类的对象的方法,所以方法栈中 能调用的属性和方法,也适用于 类和对象的 规则

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值