面试之Java多线程
Java多线程
1.什么是多线程
2.为什么需要多线程 有什么优点和缺点
3.怎么运行
一.多线程是在软件或硬件上并发执行的技术
共享数据空间,内存资源和CPU
二.优点:
把长时间运行的程序任务放到后台处理,
比如常见的360管理和QQ管理软件的后台修复电脑、清扫垃圾、杀毒
这样一来当我们在使用电脑时,它不运行或少占用CPU、当CPU空闲时有会
自己抢占内存资源处理
这样的程序运行速度更快,用户体验非常良好
缺点:
大量的线程会影响性能,需要更多的内存空间以及在开发中容易发生未知的bug
三.在Java中一般实现Runnable接口,传递给Thread构造函数,调用start即可
生命周期:新建状态、就绪状态、运行状态、阻塞状态、死亡状态
常见案例:火车票的发售、生产者和消费者模式