一、今日学习内容:
今天主要学习的是一些有关多线程的知识:
1、多任务与多线程:
所有现代的操作系统(甚至包括手机这样功能较弱的平台)都支持多任务处理。 多任务处理有两种主要类型:基于进程与基于线程。
操作系统使用“时间片”来给线程分配CPU。
2、Java线程优先级(Priority)
Java thread priority Priority
in range 1-10,默认值为5。
线程创建时,子线程继承父线程的优先级
线程创建完毕后,可以通过调用setPeriority方法改变优先级。
操作系统线程调度,根据优先级进行
(1)非抢占调度:英国的绅士风度,java中使用Thread类的yield()方法实现。
(2)抢占时间片调度:讲究公平
3、线程的创建:
在Java语言中,线程也是一种对象,但并非任何对象都可以成为线程,只有实现Runnable接口或继承了Thread类的对象才能成为线程。
4、Thread:
Thread类中的主要的方法包括:
(1)start()方法
(2)interrupt()方法
(3)join()方法
(4)run()方法。
其中start()方法与run()方法最为常用,start()方法用于启动线程,run()方法为线程的主体方法,可以根据需要重写run()方法。
Thread类有4个最常用构造方法。
(1)默认构造方法 默认的构造方法,没有参数列表。
语法格式为:
Thread thread=new Thread();
(2)基于Runnable对象的构造方法
该构造方法包含了Runnable类型的参数,它是实现Runnable接口的类的实例对象,基于该构造方法创建的线程对象,将线程的业务逻辑交由参数所传递的Runnable对象去实现。
语法格式为:
Thread thread=new Thread(Runnable simple);
simple:实现Runnable接口的对象
二、遇到的问题:
不太理解多线程的概念。
三、明日学习计划:
继续学习多线程的知识。