wait 和 notify 的调用必须是同一个对象调用。谁让他等待了,谁才能让他唤醒。解铃还须系铃人。 [TOC] 线程同步问题 多个线程同时访问一个资源 原因: 多个线程的执行是抢占式的,当一个线程执行方法时,可能会被另一个线程抢占CPU,当前线程的操作不能完整的执行,导致数据出现问题。 publ ...
分类:
编程语言 时间:
2019-10-09 12:15:18
阅读次数:
81
1)中断响应分为:自然优先级、抢占优先级、响应优先级。 2)抢占优先级和响应优先级,其实是一个中断所包含的两个优先级,其中前者是抢占优先级之间的级别划分,后者是相同抢占优先级的优先级别的划分。 中断A抢占优先级比B高,那么A的中断可以在B里面触发,忽略响应优先级; A和B抢占优先级相同,则A、B的响 ...
分类:
其他好文 时间:
2019-10-03 23:59:42
阅读次数:
154
一、协程 1.历史进程: (1)3.4引入协程,用yield来实现 (2)3.5引入协程语法 (3)实现协程比较好的包有asyncio,tornado,gevent 2.定义:协程是为非抢占式多任务产生子程序的计算机程序组件,协程允许不同入口点在不同位置暂停或开始执行程序 3.从技术角度讲,协程就是 ...
分类:
编程语言 时间:
2019-09-28 00:37:26
阅读次数:
114
1.如何判断CPU、内存、磁盘的瓶颈? CPU瓶颈 1) 查看CPU利用率。建议CPU指标如下 a) User Time:65%~70% b) System Time:30%~35% c) Idle:0%~5% 如果us,sy高于这个指标可以判断CPU有瓶颈 使用top查看 查看运行队列 每个CPU ...
分类:
其他好文 时间:
2019-09-24 17:34:38
阅读次数:
256
package cn.learn.thread.Thread; /* 实现Runnable必须重写run()方法,一般推荐用Runnable实现 */ public class RunnableImpl implements Runnable { @Override public void run(... ...
分类:
编程语言 时间:
2019-09-14 18:45:08
阅读次数:
124
pthread_join 等待一个特定线程的退出 进程控制块分为调度信息和现场信息 进程标识符 进程当前状态 代码段指针 进程从运行——>就绪的原因可能是:1.被调度程序抢占处理机 2.进程完成创建 3.时间片用完 非抢占式能引起新的进程调度是:1.正在执行的进程运行完毕 正在执行的进程调用阻塞原语 ...
分类:
编程语言 时间:
2019-09-04 09:33:09
阅读次数:
113
并发编程(一) >>>思维导图>>>博客园 操作系统的作用 1:隐藏丑陋复杂的硬件接口,提供良好的抽象接口 2:管理、调度进程,并且将多个进程对硬件的竞争变得有序 多道技术 1.空间上的复用:多个赓续公用一套计算机硬件 2.时间上的复用:切换+保存状态 >1.当一个程序遇到IO操作 操作系统会剥夺该 ...
分类:
其他好文 时间:
2019-08-12 01:01:08
阅读次数:
105
Lua中的协程和多线程很相似,每一个协程有自己的堆栈,自己的局部变量,可以通过yield-resume实现在协程间的切换。不同之处是:Lua协程是非抢占式的多线程,必须手动在不同的协程间切换,且同一时刻只能有一个协程在运行。并且Lua中的协程无法在外部将其停止,而且有可能导致程序阻塞。 协同程序(C ...
分类:
其他好文 时间:
2019-08-08 17:27:04
阅读次数:
69
一: 进程、线程 和 协程 之间概念的区别: 对于 进程、线程,都是有内核进行调度,有 CPU 时间片的概念,进行 抢占式调度(有多种调度算法) (补充: 抢占式调度与非抢占(轮询任务调度)区别在于抢占式调度可以因为优先级高的任务抢占cpu,而轮询的不能) 对于 协程(用户级线程),这是对内核透明的 ...
分类:
其他好文 时间:
2019-07-15 22:33:31
阅读次数:
77
转自:http://www.21ic.com/embed/jiaocheng/sheji/201209/5634.html 一、STM32 (Cortex-M3) 中的优先级概念 STM32(Cortex-M3)中有两个优先级的概念:抢占式优先级和响应优先级,也把响应优先级称作“亚优先级”或“副优先 ...
分类:
其他好文 时间:
2019-06-30 00:18:58
阅读次数:
113