多线程系列(1)----线程基础

  • 线程和进程的区别

线程时进程的一个执行单元,是进程里的调度执行实体

  1. 进程是一个执行中的“程序”,是系统进行资源分配和调度的一个独立单位,运行一个应用就会至少开启一个进程;
  2. 线程是一个实体,一个进程拥有多个线程,线程之间共享进程的资源。例如每个请求到达controller,就会开启一个线程;
  • 为什么要用多线程

  1. 线程的划分尺度小于进程,这使得多线程程序的并发性更高;
  2. 多个线程可共享一个进程的所有资源,共享内存;
  3. 多线程能够带来更好地性能和用户体验;
  • 线程都有哪些状态

新建状态、就绪状态、运行状态、阻塞状态、死亡状态

新建状态: new一个线程;

就绪状态:线程调用start()方法,此时为就绪状态,并不一定能开始运行,进程分配除cpu以外的资源;

运行状态:线程获得了cpu开始执行run()方法;

阻塞状态:wait中等待锁或被阻塞;

死亡状态:stop()或interrupt()方法;

  • run()方法和start()方法的区别

调用run()方法会在当前线程执行run()方法里面的内容;调用start()方法会开启一个新线程执行run()方法里面的内容;

 

猜你喜欢

转载自www.cnblogs.com/wulachen/p/12971197.html