线程与进程
进程:是指一个内存中运行的应用程序,每个进程都有一个独立的内存空间.
线程:是进程中的一个执行路径,共享一个内存空间,线程之间可以自由切换,并发执行. 一个进程最少 有一个线程. 线程实际上是在进程基础之上的进一步划分,一个进程启动之后,里面的若干执行路径又可以划分 成若干个线程.
为什么使用线程:1.在开发软件的时候提高流畅度
2.用户体验和客户需求等
以下为多线程售票的问题:
1 package com; 2 3 import javax.imageio.stream.ImageInputStream; 4 5 public class Demo02 { 6 public static void main(String[] args) { 7 Object o = new Object(); 8 Runnable run = new Ticket(); 9 new Thread(run).start(); //建立多线程 10 new Thread(run).start(); 11 new Thread(run).start(); 12 13 14 } 15 16 public static class Ticket implements Runnable{ 17 private int count = 10; //票数量 18 private Object o = new Object(); 19 @Override 20 public void run() { 21 while (true) { 22 23 synchronized(o){ //同步对象 24 if (count > 0) { 25 System.out.println("正在准备售票!"); 26 try { 27 Thread.sleep(1000); 28 } catch (InterruptedException e) { 29 e.printStackTrace(); 30 } 31 count--; 32 System.out.println(Thread.currentThread().getName()+"出票成功,余票:" + count); //获取线程的名字 33 34 }else { 35 break; //卖完退出 36 } 37 38 } 39 } 40 } 41 } 42 43 }