一个应用程序可以有多个进程
一个进程可以有多个线程
线程和进程区别
即是—个进程从创建、运行到消亡的过程。
进程:是指一个内存中运行的应用程序,每个进程都有一个独立的内存空间,一个应用程序可以同时运行多个进程;进程也是程序的一次执行过程,是系统运行程序的基本单位;系统运行一个程序
线程:进程内部的一个独立执行单元;一个进程可以同时并发的运行多个线程,可以理解为一个进程便相当于一个单CPU操作系统,而线程便是这个系统中运行的多个任务。
并发与并行
并行:指两个或多个事件在同–时刻发生(同时发生)。
并发:指两个或多个事件在同一个时间段内发生。
多线程使用场景:
1.后台任务,比如游戏服务器
2.定时向大量用户(100W)用户发邮件
3.异步处理:发微博/记录日志等
4.分布式计算…
进程:
一个运行的程序或代码就是一一个进程,一个没有运行的代码叫程序。进程是系统进行
资源分配的最小单位,进程拥有自己的内存空间,所以进程间数据不共享,开销大。
实例1.从网上下载到本地
package com.hp.Work4;
import java.io.File;
import java.io.InputStream;
import java.io.RandomAccessFile;
import java.net.HttpURLConnection;
import java.net.URL;
public class DownLoadThread extends Thread{
private int threadId;//线程编号
private int startIndex;//开始位置
private int endIndex;//结束位置
public DownLoadThread(int threadId, int startIndex, int endIndex) {
this.threadId = threadId;
this.startIndex = startIndex;
this.endIndex = endIndex;
}
@Override
public void run(