多线程基础

多线程基础

线程的基础知识

1、什么是进程

进程就是电脑里的运行程序,例如QQ、微信、英雄联盟,它是一组线程的集合,也可以看做重量级线程,因为进程的创建与销毁会很消耗性能

2、什么是线程

一条完整的执行路径,轻量级进程。

3、单线程与多线程的区别

一个打工人完成一件事花一分钟,完成两件事要两分钟,三件事三分钟,为了尽快的回复老板完成了任务,这个时候就可以使用影分身术来帮你完成不同的任务,三个任务每个人只需要一分钟,这样老板就会很开心的继续压榨你

4、多线程的应用场景

消息推送、日志、短信通知

5、为啥要用多线程呢

提高程序效率,快速响应HTTP请求

6、多线程越开多些越好吗

7、多线程的切换概念

如果是单核CPU的状态,多线程执行是在高速切换中完成了,只不过再感官上察觉不到,所以并不是真正意义上的多线程执行

8、创建线程的方式有哪些

  1. 继承Thread
    public class MyThread extends Thread{
    	public static void run(){
    		System.out.println(Thread.currentThread().getName()+"我的 子线程 测试");
    	}
    	
    	public static void main(String[] args){
    		System.out.println("");
    		MyThread thread = new MyThread();
    		thread.start();
    	}
    }
    
  2. 实现Runnable
  3. 实现Callable
  4. 通过线程池

9、守护线程

守护线程也叫精灵线程,和用户线程的区别就是生命周期随着主线的生命周期结束而结束,而用户线程不会,一般应用在GC

10、如何正确的停止线程

不要使用stop方法,因为会被停止的线程可能在未执行完
使用 interrupt() 方法

11、线程的生命周期

新建:刚new出来的时候
就绪:调用start()方法等待CPU分配执行资源的时候
阻塞:调用了wait()、sleep()等方法等导致线程停止的时候
运行:调用run()方法的时候
死亡:线程执行完毕,或调用停止线程等方法

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值