多线程浅谈
程序员文章站
2022-06-20 08:49:33
在多线程学习的开始,首先要了解几个重要的概念 一、线程和进程 进程:是操作系统进行资源分配和调度的独立单位 线程:是进程中独立运行的子任务 一个进程可能包含多个线程 二、随机 即使启动线程的代码有先后顺序,实际上线程的启动和调用是随机的,cpu时间片一直在切换 三、线程安全和非线程安全 在多线程下, ......
在多线程学习的开始,首先要了解几个重要的概念
一、线程和进程
进程:是操作系统进行资源分配和调度的独立单位
线程:是进程中独立运行的子任务
一个进程可能包含多个线程
二、随机
即使启动线程的代码有先后顺序,实际上线程的启动和调用是随机的,cpu时间片一直在切换
三、线程安全和非线程安全
在多线程下,使用加锁等技术保证共享数据不被脏读、篡改等是线程安全的,反之是非线程安全
四、守护线程和用户线程
线程有两种:守护线程和用户线程
守护线程特征:当最后一个用户线程结束时,守护线程会随着jvm一起结束,gc就是最典型的守护线程
五、原子性
一个操作要么都做,那么都不做(不会存在只做了一半的情况)