主要是初步了解线程,创建线程,使用一些简单的API,多线程的五种状态。
线程和进程
什么是线程?什么是进程?线程和进程的区别是什么?
例如:我们打开电脑,同时打开qq,网易云音乐,word多个软件,在任务管理器中就可以看到这些就是进程,进程是正在执行中的程序,我们在qq中,既可以给好友发信息,发文件,也可以接收信息,这些就是这个进程中的线程,线程是正在独立运行的一条执行路径,进程是线程的集合,一个操作系统可以有多个进程,一个进程有多个线程。
任何一个进程都有一个主线程。
为什么使用多线程?
百度网盘下载,我们可以同时下载多个文件,这多个文件是交给线程处理的,并且线程之间是互不影响的,不会因为一个出问题了,影响到其他文件的下载,提高程序的效率。
如何创建多线程 ------- 5种方式:
1.继承Thread类
2.实现Runnable接口
3.使用匿名内部类
4.callable
5.使用线程池创建线程
上图是线程与多线程的区别:如果每个任务完成需要10秒,那么单线程下需要20秒,多线程下只需要10秒,单线程下如果任务1执行过程中出错了,那么整个程序就不会继续执行,多线程下互不影响。
这里,我们引出同步和异步的概念,同步就是代码从上往下顺序执行,是单线程的,异步就不是顺序执行,多线程,并且线程之间互不影响。
简单的API
1.start()启动线程
2.currentThread()获取当前线程对象
3.getID()获取当前线程ID Thread-编号,编号从0开始
4.getName()获取当前线程名称
5.sleep()线程休眠
6.stop()停止线程
这些大部分是静态方法,可以直接Thread进行调用。