java之线程概念

时间:2019-02-16
本文章向大家介绍java之线程概念,主要包括java之线程概念使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

java之线程概念

  • 进程和线程的区别?

    • 进程是程序中顺序控制流,进程本身依靠程序进行运行。管理所在程序的资源。
    • 线程是进程的一个执行单元,是进程的内科调度实体,比进程更小的独立运行的基本单位。线程也被成为轻量级进程。
    • 同一进程的线程共享本进程的地址空间,而进程之间则是独立的地址空间。
    • 同一进程内的线程共享本进程的资源如内存、I/O、cpu等,但是进程之间的资源是独立的。
  • 单线程和多线程区别?

    • 单线程是指程序中只存在一个线程,实际上主方法就是一个主线程。
    • 多线程是指一个程序中运行多个任务。目的是更好的使用cpu资源。
  • 为什么会有线程?

    • 每个线程都有自己的地址空间,即进程空间,在网络多对用户环境下,一个服务器通常需要接受大量不确定数量的并发请求,为每一个请求都创建一个进程显然行不通,系统开销大而且效率低,因此操作系统中进程概念被引进。
      • 当线程在进行切换时,进程将会保护切换前线程所用资源。
  • 在java中,多线程真的只是多个线程在同时运行吗?

    • 对于一个处理器(cpu)在某一个时间点上永远都只能是一个线程。单个cpu而言某个时间点只能是一个线程在运行, 所谓的多线程是通过调度获取cpu的时间片实现的,其实就相当于 cpu是一个人 多线程是几件事 ,cpu一下会干这件事,干一会儿时间片到了就干另一件 ,由于cpu计算速度很快很快,所以看起来就像几件事情在同时做着。
    • 对于多核cpu,双核,四核,八核等等,这些是真的一起干的。看起来也是一起做的。
  • 线程的生命周期