多线程使用场景:
1.后台任务,比如游戏服务器
2.定时向大量用户发邮件
3.异步处理:发微博/记录日志等
4.分布式计算
基本概念
并发与并行
并行:指两个或多个事件在同一时刻发生(同时发生)
并发:指两个或多个事件在同一个时间段内发生。
*线程和进程区别
*进程
:
是指一个内存中运行的应用程序,每个进程都有一个独立的内存空间,一个应用程序可以同时运行多 个进程
;
进程也是程序的一次执行过程,是系统运行程序的基本单位
;
系统运行一个程序即是一个进程从创 建、运行到消亡的过程。
*线程
:
进程内部的一个独立执行单元
;
一个进程可以同时并发的运行多个线程,可以理解为一个进程便相当 于一个单
CPU
操作系统,而线程便是这个系统中运行的多个任务。
实列
轮流打印
package Hp1221_java; public class Loop_to_print extends Thread{ static int count = 0; static Object obj = new Object(); @Override public void run() { while (true){ try { Thread.sleep(500); synchronized (obj){ if (count<=100){ System.out.println("你打印的是"+ count++ +""+Thread.currentThread().getName()); }else{ System.out.println("已打印完"); System.exit(0); } } } catch (InterruptedException e) { e.printStackTrace(); } } } public static void main(String[] args) { Loop_to_print ltp = new Loop_to_print(); ltp.setName("第一"); ltp.start(); Loop_to_print ltp1 = new Loop_to_print(); ltp1.setName("第二"); ltp1.start(); } }