注意事项:
(1)首先STM32需要设置nCE和nConfig信号,即nCE置高,nConfig拉低,获得EPCS的控制权,而后对EPCS操作,操作完成后需要释放这两个管脚,即nCE拉低,nConfig置高。
(2)EPCS的极性为:sck为空闲状态为高电平,采样边沿为SCK的第二个跳变沿,(即上升沿,注意前提是SCK空闲为高)
SPI_InitStruct.SPI_Direction= S...
分类:
其他好文 时间:
2014-06-20 12:40:20
阅读次数:
690
往往是,一个对象释放了多次,即多次释放。多为粗心所致。还有一种过渡释放,很隐蔽。查了很久才知道!NSUserDefaults*userDefault
= [NSUserDefaultsstandardUserDefaults];self.arrCollectionData=[userDefaulto...
分类:
其他好文 时间:
2014-06-11 12:10:31
阅读次数:
193
起因是发现一个同事编写的程序运行两个月左右,占用了服务器20G左右的内存。用WinDbg查看发现存在大量的Async Pinned
Handles,而它们的gcroot都来自于SocketAsyncEventArgs。下面是场景的简易模拟代码(为了说明问题添加了手动GC):for (var
i = ...
分类:
其他好文 时间:
2014-06-11 09:23:15
阅读次数:
634
1 线程通信java.lang.Object提供两个用于线程通信的方法:wait()
执行该方法的线程释放对象锁.把该线程放到对象等待池中.notify(
执行该方法的线程唤醒在对象的等待池中的一个线程.JVM从对象等待池中随机选择一个线程,把它转移到对象锁池中,*t1线程 t2线程共同操作一个对象...
分类:
编程语言 时间:
2014-06-11 08:23:37
阅读次数:
273
AssetManager用于对游戏中的资源进行加载。当游戏中资源(图片、背景音乐等)较大时,加载时会需要较长时间,可能会阻塞渲染线程,使用AssetManager可以解决此类问题。主要优点:1.
大多数资源加载器AssetLoader都是异步加载,可以避免阻塞渲染线程。2. 通过引用计数来进行释放资...
分类:
其他好文 时间:
2014-06-11 07:54:10
阅读次数:
348
C语言内存管理主要包括malloc()、remalloc()、free()三个函数。本文主要介绍动态分配二维数组的三种方法,及malloc的使用注意事项(判断成功否,释放)
分类:
编程语言 时间:
2014-06-11 07:48:46
阅读次数:
321
一、锁的劣势
锁定后如果未释放,再次请求锁时会造成阻塞,多线程调度通常遇到阻塞会进行上下文切换,造成更多的开销。
在挂起与恢复线程等过程中存在着很大的开销,并且通常存在着较长时间的中断。
锁可能导致优先级反转,即使较高优先级的线程可以抢先执行,但仍然需要等待锁被释放,从而导致它的优先级会降至低优先级线程的级别。
二、硬件对并发的支持
处理器填写了一些特殊指令,例如:比较并交换...
分类:
编程语言 时间:
2014-06-07 14:25:12
阅读次数:
310
独占锁:是一种悲观锁,synchronized就是一种独占锁,会导致其它所有需要锁的线程挂起,等待持有锁的线程释放锁。乐观锁:每次不加锁,假设没有冲突去完成某项操作,如果因为冲突失败就重试,直到成功为止。一、CAS
操作乐观锁用到的机制就是CAS,Compare and Swap。CAS有3个操作数...
分类:
编程语言 时间:
2014-06-06 14:00:39
阅读次数:
452
dealloc 中的每一行都会有一个错误。 我们不再被允许调用 [release] 了, 也不允许调用
[super dealloc]。 因为我们在 dealloc 不再做任何操作了, 所以我们可以直接把这个方法删除掉。唯一一个留着 dealloc
方法的原因就是, 你需要释放一些不在 ARC 控制...
分类:
其他好文 时间:
2014-06-06 10:16:38
阅读次数:
210
delete table atruncate table
b用truncate删除表比delete删除表 逻辑读和cost都有明显的减少delete
删除并不能释放空间,虽然将很多块的记录删除,但空间依然会保留,oracle在查询时,依然会查询这些块而truncate是一种释放高水平位的动作,这些空...
分类:
其他好文 时间:
2014-06-06 07:32:46
阅读次数:
337