Java基础——多线程(1)

进程:应用程序在内存中分配的空间(正在运行的程序)。

线程:是进程中负责程序执行的执行单元,也称为执行路径。

一个进程中至少有一个线程,在负责该进程的运行。

如果一个进程中出现了多个线程,就称为该程序为多线程程序。

多线程技术:解决多部分代码同时执行的需求,合理使用CPU资源。

多线程的运行是根据CPU的切换完成的,怎么切换是CPU说的算。所多线程运行有一个随机性(CPU快速切换造成的)。

jvm中的多线程

至少有两个线程,一个是负责自定义代码运行的,一个是负责垃圾回收的。

Java基础——多线程(1)

Java基础——多线程(1)

发现结果并不相同,是因为随机性造成的,而每一个线程都有运行的代码内容,这个称之为线程的任务。之所以创建一个线程就是为了运行指定的任务代码。

而线程的任务都封装在特点的区域中,比如主线程运行的任务都定义在main方法中,垃圾回收线程在finalize方法中。

(到底是主线程还是垃圾回收线程是CPU说的算,启动了垃圾回收线程并没有立即执行。)

如何开辟一个新的执行路径?

通过查阅API文档java.lang.thread类。该类的描述中有创建新执行线程的两种方式。

1、继承Thread类。

(1)继承Thread类。(2)覆盖run方法。(3)创建该子类对象,也就是创建了线程对象。(4)调用Thread类中的start方法,开启线程并执行run方法中的内容。

注意:start()开启线程后,都会执行run(),说明run()中存储的是线程的执行代码,所以,自定义线程的任务代码是放在run()中。

Java基础——多线程(1)

Java基础——多线程(1)