13.5 自定义线程

来源:互联网 发布:c 查看dll源码 编辑:程序博客网 时间:2024/06/05 20:09

首先要理解什么是进程:正在运行的程序就叫着进程。进程负责了内存空间的划分

问题:windows号称是多任务的操作系统,那么windows是同时运行多个应用程序

答:宏观:用肉眼来看可以认为是同时运行多个应用程序。
微观:单核cpu在同一时间里只能运行一个应用程序,只是多个应用程序做了快速切换的动作,因为他们的速度太快了,我们感觉不到而已。

线程是什么?
线程在一个进程中,负责代码代码的执行,就是进程中的一个执行路径。

多线程:在一个进程中有多个线程在同时执行不同的任务。

疑问:线程负责了代码的执行,我们之前没有学习过线程,那为什么代码可以执行?
任何一个Java程序,jvm在运行的时候会创建一个main线程执行main方法中的代码。


常会遇到被问的问题:一个Java应用程序至少有几个线程?
答:至少有2个线程。一个是主线程负责main方法代码的执行,一个是垃圾回收线程,负责了回收垃圾。

多线程的好处:
1、解决了一个进程能同时进行多个任务
2、提高了资源的利用率,而不是效率

多线程的坏处:
1、效率降低了
2、增加了cpu的负担
3、降低一个进程中线程的执行概率
4、引发线程的安全问题
5、出现了死锁的问题

如何创建多线程?
创建多线程的方式有2种:


方式一:
1、将类声明为Thread的子类,即继承
2、重写Thread类的run方法
    疑问:重写run方法的目的是什么?我们要重写什么内容

    答:每个线程都有自己的任务代码

3、用start开启线程,即调用run方法

0 0
原创粉丝点击