线程与进程区别以及线程作用
来源:互联网 发布:淘宝买东西上传身份证 编辑:程序博客网 时间:2024/06/15 05:23
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(); }}
运行结果:
分析上述代码可以发现,旺财不结束,小明出不来。因为主线程执行时,先执行的旺财,再执行小明。那么,可不可以实现旺财和小明同时执行呢?一条路径是无法解决这个问题的,需要多条路径来完成,那么就得在程序中创建线程。而打印小明旺财等代码就是线程任务。
阅读全文
0 0
- 线程与进程区别以及线程作用
- 线程与进程以及他们区别
- 进程与线程区别
- 进程与线程区别
- 线程与进程区别
- 进程与线程区别
- 进程与线程区别
- 线程与进程区别
- 进程与线程区别
- 线程与进程区别
- 进程与线程区别
- 进程与线程区别
- 进程与线程区别
- 进程与线程区别
- 进程与线程区别
- 进程与线程区别
- 进程与线程区别
- 线程与进程区别
- SSH之IDEA2017整合Struts2+Spring+Hibernate
- pdf水印如何删除或编辑
- 校内八连测 第三试
- ubuntu 16.04 安装ibus中文输入法
- PhotoView结合ViewPager的简单使用
- 线程与进程区别以及线程作用
- PAT考试乙级1023(C语言实现)
- leetcode: 12. Integer to Roman
- Javascript学习笔记_箭头函数
- Error:Execution failed for task ':app:processDebugManifest
- Keyboard Shortcuts
- 5.8百分制成绩转化为五分制成绩
- Qt/QML窗口阴影边框实现
- Android 7.0动态权限