多线程

Posted wesley1680

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了多线程相关的知识,希望对你有一定的参考价值。

一、线程和进程的概念

程序执行需要资源(内存,带宽,cpu,磁盘空间),操作系统分配资源的最小单位就是一个进程。

一台电脑上会跑很多个程序,一个时间点只能执行一个程序,如果逐个执行,那么执行当前程序的时候,其他程序就处于停顿状态(不能执行),程序会很卡。所以cpu会来回快速切换不同的程序,就好比同时做很多个菜,但是只有个火源,要想多个菜同时煮,只能来回移动切换火源。

虽然cpu来回切换,让电脑上的所有程序在同一个时间点同时运行一样,但是由于切换进程的时候,速度比较慢,所以就衍生了线程的概念。

线程就是把进程分成很多份,让cpu轮流执行。这样就能满足实际需要。一个线程对应一个方法流。

 

二、特点

1.线程默认都是前台线程。当所有前台线程结束后,当前进程才能结束。(前台线程会阻塞进程的关闭)

2.后台线程不会阻塞进程的关闭和退出。(后台线程不关闭,进程也能退出)

三、实例

控制台程序,开启一个线程,输出当前时间,每次输出前休眠500ms,主线程输出,“---------------这是主线程-----------------”,同样每次输出前休眠500ms。我们发现,输出的时候,并不是按代码的顺序执行,而是随机的。

 

四、双色球案例

 

以上是关于多线程的主要内容,如果未能解决你的问题,请参考以下文章

什么是多线程,多进程?

多线程和多进程模式有啥区别

多线程Java多线程学习笔记 | 多线程基础知识

java中啥叫做线程?啥叫多线程?多线程的特点是啥

c++ 多线程与c多线程有啥区别?

IOS多线程安全(线程锁)