随笔分类 - Java 多线程
摘要://创建并返回一个线程池 ExecutorService es = Executors.newSingleThreadExecutor(); //此线程池只能容纳一个线程。放入的线程会依次执行,上一个执行完毕,才会执行下一个。 // ExecutorService es = Executors.ne
阅读全文
摘要:常见的线程协作方式是:生产者/消费者。 一个线程作为生产者,生产要处理数据,比如拿一个线程来生产Order,用户每下一单,此线程就生产一个Order对象。 设置一个仓库,来存放生产出来的Order对象。 一个线程作为消费者,消费|处理仓库中的Order对象(打印订单、拣货、发货)。 demo 订单处
阅读全文
摘要:多线程共享数据(多个线程共同访问相同的数据),需要进行数据同步,保证同一数据、同一时刻只能被一个线程访问。 使用同步是为了防止多个线程同一时刻对同一数据进行读写,如果对同一数据数据都只进行读操作、不进行修改,则不必使用同步。 以售票为例 不使用同步 public class SaleTicketTh
阅读全文
摘要:线程的2种实现方式 1、继承Thread类,重写run()方法 public class Thread1 extends Thread{ @Override public void run() { //要执行的代码 while (true){ System.out.println("thread1
阅读全文
摘要:进程 进程是一个具有一定独立功能的程序在一个数据集上的一次动态执行的过程,是操作系统进行资源分配和调度的一个独立单位,是应用程序运行的载体。 进程一般由程序、数据集合和进程控制块三部分组成,程序用于描述进程要完成的功能,是控制进程执行的指令集;数据集合是程序在执行时所需要的数据和工作区;程序控制块包
阅读全文