JAVA多线程
多线程
多任务
看起来同时做很多件事,实际上同一时间只做一件事,将多件事拆散安排在一条时间轴上。
多线程
增加并发数量,即分配资源后,使得多个进程(运行中的程序)同时进行。
真正的多线程是多核CPU带来的,模拟的多线程是高速CPU快速切换带来的。
线程是独立的执行过程;
main()为主线程,是系统的入口;
在一个进程中,如果开辟了多个进程,线程的运行由调度器安排调度。调度器是与操作系统相关的,先后顺序是不能人为干预的;
对同一份资源进行操作时,会存在资源抢夺的问题,需要加入并发控制;
线程会带来额外的开销,如CPU的调度时间,并控制开销;
每个线程在自己的工作内存交互,内存控制不当会造成数据不一致。
线程的创建
方式:
- 集成Thread类
- 实现Runnable接口
- 实现Cellable接口