作为一名it界萌新中的萌新,接触学习java这么久,对于其中一些基础理解还好,但是如果再深入到了关于操作系统当中的多线程,简直就是无能为力一说。
暂且不说多线程对于真正实际程序或者是系统而言,是绝对重要的,没别的,因为这样才是能体现出了关于机器的计算能力操作了人的一个方面。
哈,扯远了些。多线程,相比大家在求职面试过程当中,绝对是要被问道的,因为如果你连的多线程都是了解不多的话,那么面试求职的面试官就要对你说声“赛有哪啦~”。
废话不多说,进入重点,而且绝对也是你面试求职当中要被问道的。
诸如多线程你了解多少?线程和进程又是什么区别呢?如果你想实现的话,那么你要怎么做?说道多线程,那么线程安全肯定要被问的!,再接着,线程池不也得问一下,那么要不再来个简单的线程安全例子代码写一下?
怎么样?是不是很多要被问道的吧!
以下进入正题。
一、多线程的概述
学习多线程之前,我们先要了解几个关于多线程有关的概念。
进程:进程指正在运行的程序。确切的来说,当一个程序进入内存运行,即变成一个进程,进程是处于运行过程中的程序,并且具有一定独立功能。
线程:线程是进程中的一个执行单元,负责当前进程中程序的执行,一个进程中至少有一个线程。一个进程中是可以有多个线程的,这个应用程序也可以称之为多线程程序。
总结:简而言之:一个程序运行后至少有一个进程,一个进程中可以包含多个线程
最后我们就要问了什么是多线程呢?
即就是一个程序中有多个线程在同时执行。
二、怎么实现多线程?
2.1 方法一:继承Thread类(面试重点哦!)
该如何创建线程呢?通过API中搜索,查到Thread类。通过阅读Thread类中的描述。Thread是程序中的执行线程。Java 虚拟机允许应用程序并发地运行多个执行线程。