今天,让我们聊聊线程的基本知识。
说到了线程,我们先来了解一下进程。
什么是进程呢?
进程是一个独立的应用程序。
进程需要通过系统的分配来获取当前系统的CPU、内存、显卡、网络等资源。具有独立性和互斥性。
那么什么时线程呢?
线程时组成进程的最小基本单位,每个进程至少有一个线程,线程的运行支撑起了进程的运行。具有抢占式运行(CPU在执行的时候,是按照时间片进行执行的,单位时间片是抢占式的)、资源共享性。
进程和线程的区别?
1.进程是一个完整的程序,线程是进程里面的执行的某一功能。
2.一个应用程序是由多线程组成的。进程申请的是系统的资源,线程申请的是进程的资源。当多线程执行时,CPU会根据每个线程分配的时间片来随机抢占运行,每个线程抢占的时间片大概是20毫秒,时间一过,便会切换到其他线程执行。
常见的创建线程的两种方式:
1.继承Thread类,重写run方法,调用start方法,开启线程。
2.实现Runnable接口,重写run方法,通过Thread类创建线程对象,将Runnable接口的子类对象作为实际参数传给Thread类的构造函数。调用start方法,开启线程。
线程下面的方法:
1.主要的构造方法:
第三个构造方法可以分配一个新的Thread类对象,并对当前线程进行命名。
2.常用的成员方法
1.Static Thread currentThread();//获取当前线程对象
2.String getName();//获取当前线程对象的名字
3.void setName();//对当前线程对象进行重命名。
4.void setPriority (int newPriority);//设置当前线程的优先级,优先级会增加线程执行的概率。
5.int getPriority();//获取当前线程的优先级
6.Static void sleep( );//让线程休眠,参数是毫秒数