你的位置:首页 > 软件开发 > Java > JAVA创建多线程

JAVA创建多线程

发布时间:2016-08-02 17:00:13
首先:线程与进程的区别是什么呢?  进程:正在运行的一个程序称之为一个进程,进程负责了内存空间的划分,从宏观的角度:windows是在同时执行多个程序    从微观的角度看,CPU是在快速的切换要执行的程序。实质上,一个时间片上只有一个程序在执行。  线程:线程负责了代码的执行, ...

JAVA创建多线程

首先:线程与进程的区别是什么呢?

  进程:正在运行的一个程序称之为一个进程,进程负责了内存空间的划分,从宏观的角度:windows是在同时执行多个程序

    从微观的角度看,CPU是在快速的切换要执行的程序。实质上,一个时间片上只有一个程序在执行。

  线程:线程负责了代码的执行,就是进程中的执行路径。

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

疑问1:线程负责了代码的执行,我们之前没使用线程为什么代码可以执行?

  答:JVM在运行的时候会自动创建一个main线程执行main方法中的代码。

疑问2:一个JAVA程序至少需要几个线程?

  答:至少需要2个线程,一个是主线程负责main方法的代码,另外一个是垃圾回收器的线程负责回收垃圾。

多线程的好处:1.解决了一个程序能够执行多个任务的问题

       2.多线程并没有提高效率  而是提高了资源的利通率。

多线程的弊端:

         1.增加了CPU的负担

       2.容易引发线程安全问题

       3.出现了死锁的现象

那么我们如何创建多线程呢?

  方式1:继承Thread类,并重写run()方法,并将自定义线程的任务代码写在run方法里。创建继承自Thread类的对象,然后调用start()方法开启线程。

  JAVA创建多线程

  方式2:实现Runnable接口,并实现run()方法。将自定义线程的任务代码写在run()方法里。创建实现Runnable接口的类的对象,然后将对象作为实参传递给Thread方法创建线程对象,然后调用start()方法开启线程。

JAVA创建多线程

疑问:为什么要重写run方法,重写run方法的目的?

  答:每个线程都有自己的任务代码,jvm创建的主线程任务代码就是main方法中的所有代码,自定义线程的任务代码就写在run方法中,自定义线程负责了run方法中的代码

注意: run方法不能直接调用,直接调用run方法就相当于调用了一个普通的方法而已,并没有开启新的线程

问题1:请问Runnable实现类的对象是线程对象吗?

原标题:JAVA创建多线程

关键词:JAVA

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。