线程与进程区别以及线程作用
2017-11-07 16:19
204 查看
1 进程与线程
(1)进程:正在进行中的程序。(2)线程:就是进程中一个执行单元或执行情景或执行路径,负责进程中程序执行的控制单元。
一个进程中至少要有一个线程。 当一个进程中线程有多个时,就是多线程。 比如我们经常使用杀毒软件杀毒,在杀毒的同时我们可以清理电脑垃圾,这就是多线程的体现。
2 线程的作用
多线程解决的问题:可以让多部分代码同时执行。什么是同时执行呢?其实都是CPU在瞬间做着快速切换完成的。CPU的切换随机的,按照时间片的方式来完成。其实JAVA运行就是多线程的。在执行main函数中内容的同时,垃圾回收器也在回收堆内存的垃圾。所以执行main方法的线程和执行垃圾回收器的线程同时在执行,这就是多线程。
JVM在启动线程的时候,每一个线程都有自己要执行的内容。其中一个负责执行main函数中的内容,这个线程称之为主线程。负责垃圾回收器运行的称之为垃圾回收线程。
为什么要启动多线程呢?因为有多部分代码需要同时执行。而且每一个线程都有自己要执行的内容,这个内容称之为线程的任务。简单说:启动线程就是为了执行任务,当任务有多个需要同时执行时,就需要多个线程。
【例2.1】不使用线程的方式的缺点。
ZiThread.java
public class ZiThread { private String name; ZiThread (String name) { this.name = name; } public void show() { for(int x=1; x<=10; x++) { for(int y=-99999999; y<99999999; y++){}//刻意写个循环让程序运行慢一点。 System.out.println(name+"---"+x); } } }
ThreadDemo.java
public class ThreadDemo { public static void main(String[] args) { // TODO 自动生成的方法存根 ZiThread d1 = new ZiThread ("旺财"); ZiThread d2 = new ZiThread ("小明"); d1.show(); d2.show(); } }
运行结果:
分析上述代码可以发现,旺财不结束,小明出不来。因为主线程执行时,先执行的旺财,再执行小明。那么,可不可以实现旺财和小明同时执行呢?一条路径是无法解决这个问题的,需要多条路径来完成,那么就得在程序中创建线程。而打印小明旺财等代码就是线程任务。
相关文章推荐
- 线程和进程的区别以及联系
- 进程与线程的区别、进线程通讯以及设计模式
- 死锁、进程通信以及进程线程的区别
- 线程与进程的区别以及通过实例的详细分析
- 线程和进程的通信方式以及区别
- 线程与进程的区别以及对多线程并发的理解
- 进程 线程 的区别以及 通信方式
- android 进程和线程的区别,以及系统的进程的基本知识
- 转载只为记录经典之<轻量级进程和普通进程以及线程之间的区别>
- 线程和进程的区别?以及如何实现多线程
- Linux线程的操作以及与进程的区别
- 详解线程、了解进程与线程的区别以及线程分离与结合属性
- 死锁、进程通信以及进程线程的区别
- 进程和线程以及两者的区别
- 进程与线程的区别以及通信方式
- 黑马程序员01--线程与进程的区别以及为什么使用多线程?
- 进程和线程的区别以及联系
- 进程与线程区别以及进程间通信方式
- 进程和线程以及区别
- Start Service 和 Bound Service, 两者的区别, 以及和线程进程的区别