[toc] 前言 进程:内存运行的程序。 线程:进程中的一个执行单元。 创建多线程的方式 继承thread抽象类 创建 完整版 ExecutorService service = Executors.newFixedThreadPool(2); service.submit(new Runnable ...
分类:
编程语言 时间:
2018-10-10 23:54:56
阅读次数:
205
背景知识 顾名思义,进程即一个软件正在进行的过程。进程是对正在运行程序的一个抽象。 进程的概念起源于操作系统,是操作系统最核心的概念,也是操作系统提供的最古老的也是最重要的抽象概念之一。操作系统的其他所有内容都是围绕进程的概念展开的。所以想要真正了解进程,必须先了解操作系统。详见博客点击进入。 须知 ...
分类:
系统相关 时间:
2018-10-10 12:11:14
阅读次数:
142
如果有多个生产者和多个消费者 像之前那样就会产生安全问题,例如 会打印两个生产者一个消费者 或者一个生产者两个消费者 。 为了防止这种情况的发生(线程醒了没有去判断标记),需要将if()改为while 这样当线程有等待状态被唤醒的时候可以进行循环判断,但是又由于这样会使同一类线程全部阻塞进入等待状态 ...
分类:
编程语言 时间:
2018-10-07 13:52:52
阅读次数:
173
进程控制 进程控制的基本过程: 进程的创建 进程的终止 进程的阻塞与唤醒 进程的挂起和激活 进程中的亲属关系 一般使用进程树表示: 1 创建进程: (1) 申请空白PCB (2) 为新进程分配资源 主要是内存资源的处理 (3) 初始化进程控制块 标识符(包括父进程的)、程序计数器指向程序入口地址,就 ...
分类:
系统相关 时间:
2018-10-07 10:31:50
阅读次数:
225
wait():等待,如果线程执行了wait方法,那么该线程会进入等待的状态,等待状态下的线程必须要被其他线程调用notify()方法才能唤醒。 notify():唤醒,唤醒线程池等待线程其中的一个。 notifyAll():唤醒线程池所有等待线程。 wait与notify方法要注意的事项: 1. w ...
分类:
编程语言 时间:
2018-10-06 17:10:28
阅读次数:
161
线程的通讯(生产者和消费者) ? 生产者和消费者模式的思路: A:生产者 先看是否有数据,有就等待;没有就生产,生产完以后通知消费者来消费数据 B:消费者 先看是否有数据,有就消费;没有就等待,通知生产者生产数据? 线程的通讯需要注意的地方: 生产者和消费者表示不同的线程 1.生产者和消费者操作的必 ...
分类:
编程语言 时间:
2018-10-06 15:33:42
阅读次数:
151
线程通讯:一个线程完成自己任务,要通知另一个线程完成另一个任务。 wait():等待,挂起.... 如果线程执行了wait方法,那么该线程会进入阻塞状态,阻塞状态下的线程必须要被其他线程调用notify方法才能唤醒。 notify():唤醒 唤醒进入阻塞状态的线程中的任意一个。 notifyAll( ...
分类:
编程语言 时间:
2018-10-05 18:59:57
阅读次数:
155
PaddleMobile是PaddlePaddle组织下的致力于嵌入式平台的深度学习框架,集成了百度移动端预测的实践经验,提供多平台支持,在工程实现支持及底层算法模型压缩的基础上,通过CPU、mallGPU等硬件加速,作用于DuerOS、百度APP、百度网盘APP等移动端场景。目前,PaddleMobile在PaddlePaddle0.14版本下已支持CPU、MaliGPU等平台,以及图像、人脸、
分类:
其他好文 时间:
2018-10-02 13:59:28
阅读次数:
162
sleep:Thread类中定义的方法,表示线程休眠,会自动唤醒; wait:Object中定义的方法,需要手工调用notify()或者notifyAll()方法。 sleep是线程类(Thread)的方法,导致此线程暂停执行指定时间,给执行机会给其他线程,但是监控状态依然保持,到时后会自动恢复。调 ...
分类:
其他好文 时间:
2018-10-01 01:04:20
阅读次数:
196
读写锁特点: 1)多个读者可以同时进行读 2)写者必须互斥(只允许一个写者写,也不能读者、写者同时进行) 3)写者优先于读者(一旦有写者,则后续读者必须等待,唤醒时优先考虑写者) 互斥锁特点: 一次只能一个线程拥有互斥锁,其他线程只有等待 互斥锁 读写锁 条件变量 条件变量(Condtion Var ...
分类:
其他好文 时间:
2018-09-30 18:16:20
阅读次数:
208