一、教材学习笔记
ch12
1、程序是一段静态的代码,进程是程序的一次动态执行过程
2、线程比进程还小,一个进程的进行期间可以产生多个线程。
3、Java内置对多线程的支持。我们的计算机在任何给定说的时刻只能执行线程中的一个,Java虚拟机只是从一个线程迅速地切换到另一个线程。
4、线程的状态与生命周期:(1)新建;(2)运行;(3)中断;(4)死亡;
5、线程的常用方法
-
start()
方法:只有新创建的线程才可以调用该方法。 -
run()
方法:该方法是否运行结束是判断线程是否结束的一个重要标准。只有当该方法运行结束后,线程才能再次调用start()方法。 -
sleep(int millsecond)
方法:线程可以调用该方法来使程序进入睡眠,知道过了参数指定的秒数过后才“醒来”。该方法必须在try-catch
语句中调用,因为线程如果在休眠中被打断,会抛出InterruptedException
异常。 -
isAlive()
方法:该方法用来判断线程是否正在运行,若是,返回true,若不是,返回false
。注意,一个已经运行的线程在没有进入死亡状态时,不要再给线程分配实体。 -
currentThread()
方法是Thread类中的类方法,返回当前使用CPU的线程。 -
interrupt()
方法用来“唤醒”调用sleep方法而处于睡眠状态的线程。
6、守护线程:线程默认是非守护线程,线程在运行之前必须设置自己是否为守护线程。可以调用voidsetDaemon(boolean on)来将自己设置成一个守护线程。当所有非守护线程运行结束时,守护线程一定会跟着结束。
二、码云链接
三、代码托管截图
附:遇到的问题及部分解决方法
1、运行MySQL,任务管理器找不到mysql
参考链接:mysql服务里面没有启动项
我使用net start mysql
命令以后出现以下结果,成功启动mysqld.exe,在任务管理器的截图如图所示。
2、进程三种基本状态
进程的三种基本状态是:就绪、执行、阻塞,这一点有别于线程;
参考链接进程三种基本状态
3、Thread的构造方法
在Java中创建线程有两种方法:使用Thread类和使用Runnable接口。
public Thread( );
public Thread(Runnable target);
public Thread(String name);
public Thread(Runnable target, String name);
public Thread(ThreadGroup group, Runnable target);
public Thread(ThreadGroup group, String name);
public Thread(ThreadGroup group, Runnable target, String name);
public Thread(ThreadGroup group, Runnable target, String name, long stackSize);
参考链接Thread的构造方法
4、interrupt()方法抛出的异常
参考链接线程的中断-----使用线程对象的interrupt()方法
线程使用interrupt()方法,同时程序抛出InterruptedException异常.