类和线程的关系

 这种理解,如果代码写得多,思考得多,就会有自己的一套理解方式,而正确的理解往往都是相同的,不对的理解千奇百怪。在C++/Java中,线程以类的形式展现给编程人员,所以编程人员可以通过类来创建线程,而线程执行又需要有类的方法作为执行代码,两者相互联系又相互独立。实际上线程是操作系统层次提供的能力,任何编程语言都是封装和使用操作系统提供的这种能力,C++/Java也不例外,C++/Java中,一切都是对象,线程也是以类型的方式出现,我们往往容易将以Thread类为代表的类型当作线程,这是一种对本质的曲解,Thread系列的类型是我们操作线程的API而已,可以通过这些类型创建线程,管理线程,Thread并不是线程本身,而是真正线程的一个接口而已。另外,所有线程都是有执行任务的,也就是一段代码,很多人也容易将线程的执行任务当作线程本身,毕竟他是看得见摸得着的,但是这是不对的,线程应该是你看不见的,你看见的只是线程的一个操作接口而已。

   还有一点需要理解,C++/Java中Thread类型的成员变量如何理解,他是属于线程私有的吗?他是线程安全的吗?他存放在线程栈空间上吗?我们知道,Thread是我们访问真实线程的入口,当我们拿到一个Thread实例的时候,如果是在一个线程执行过程中拿到另外一个线程的Thread实例进行访问,肯定是存在线程安全问题的,此时就是个临界资源访问的并发问题了,但是大多数情况下,我们是通过Thread.currentThread()来获取当前线程的Thread实例,这个时候进行访问是不存在任何并发问题的。理解了这点,会对Thread类和线程的关系有一个更加深入的理解。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值