对Java 多线程中的 currentThread( )方法的一个疑问 ?

这个方法是返回对当前正在执行的线程对象的引用。
但是,如果有两个线程在并行执行呢 ? 难道返回两个线程对象吗 ?

阅读 1.8k
2 个回答
  1. currentThread()是一个方法,调用者是线程,哪个线程调用了这个方法,就会返回这个线程对象,所以不存在返回多个线程对象的可能
  2. 线程的并行,是指多颗cpu的情况下,允许进程/线程,同时运行在不同cpu,但每个线程还是独立的。
  3. a,b两个线程,同时运行在1,2两颗cpu上,当a线程调用currentThread返回a,当b线程调用currentThread返回b
  4. 所以currentThread和线程的运行方式,没有太大关系,它本身只是个方法,用来返回线程对象,
  5. 当在主线程中需要作子线程的调度的时候,可以通过currentThread这个返回,进行相关的后续操作

企业微信截图_16861303608111.png
都返回自身的引用

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题