C++中,成员指针是最为复杂的语法结构。但在事件驱动和多线程应用中被广泛用于调用回叫函数。在多线程应用中,每个线程都通过指向成员函数的指针来调用该函数。在这样的应用中,如果不用成员指针,编程是非常困难的。
刚遇到这种语法时也许会让你止步不前。但你会发现,使用恰当的类型定义之后,复杂的语法是可以...
分类:
编程语言 时间:
2014-06-04 20:52:46
阅读次数:
395
synchronized:利用上锁实现数据同步,避免多线程操作的情况下,数据出现异常。当两个并发线程访问同一个对象object中的这个synchronized(this)同步代码块时,一个时间内只能有一个线程得到执行。另一个线程必须等待当前线程执行完这个代码块以后才能执行该代码块。在代码块前加上
s...
分类:
编程语言 时间:
2014-06-03 14:10:33
阅读次数:
243
Executor框架使用Runnable
作为其基本的任务表示形式。Runnable是一种有局限性的抽象,然后可以写入日志,或者共享的数据结构,但是他不能返回一个值。
许多任务实际上都是存在延迟计算的:执行数据库查询,从网络上获取资源,或者某个复杂耗时的计算。对于这种任务,Callable是一...
分类:
编程语言 时间:
2014-05-30 19:50:25
阅读次数:
335
.Net
4.0重构了StringBuilder的实现,采用了新的数据存储方式,不仅在效率上有大的提高,并且彻底避免了中间处理过程出现临时String对象进入LOH大对象堆的情况。本文对此进行分析。回顾.Net
2.0的StringBuilder实现Reflector查看StringBuilder的...
分类:
Web程序 时间:
2014-05-30 18:25:35
阅读次数:
445
大家使用多线程无非是为了提高性能,但如果多线程使用不当,不但性能提升不明显,而且会使得资源消耗更大。下面列举一下可能会造成多线程性能问题的点:死锁过多串行化过多锁竞争切换上下文内存同步下面分别解析以上性能隐患死锁关于死锁,我们在学习操作系统的时候就知道它产生的原因和危害,这里就不从原理上去累述了,可...
分类:
编程语言 时间:
2014-05-30 05:23:55
阅读次数:
316
作为设计模式理论中的Helloworld,相信学习java语言的人,都应该听说过单例模式。单例模式作为对象的一种创建模式,它的作用是确保某一个类在整个系统中只有一个实例,而且自行实例化并向整个系统提供这个实例。由此可见,单例模式具有以下的特点:单例类只能有一个实例。单例类必须自己创建自己的唯一的实例...
分类:
编程语言 时间:
2014-05-30 00:43:31
阅读次数:
431
查看以前的教程:Qt编写串口通信程序全程图文讲解查看Wincom和Lincom介绍:Qt跨平台串口通信软件Wincom与Lincom下载软件,文档和源码:资源下载——————————————2010年7月8日更新——————————————–网友
赵文杰 使用多线程完成的linux下的串口通信。下载...
分类:
其他好文 时间:
2014-05-30 00:33:14
阅读次数:
277
1.Wait()和Notify、NotifyAll都是Object的方法2.多线程的协作是通过控制同一个对象的Wait()和Notify()完成3.当调用Wait()方法时,当前线程进入阻塞状态,直到有另一线程调用了该对象的Notify()方法package
Thread.Wait;import j...
分类:
编程语言 时间:
2014-05-30 00:24:04
阅读次数:
328
http://blog.csdn.net/lefttime/article/details/5717349作为Qt类中少有的基类,
QRunnable提供了简洁有效的可运行对象的创建. 用QRunnable来创建独立的运行对象来运行 不涉及界面元素的数据处理过程 非常合适.优点:
创建过程简洁, 使...
分类:
编程语言 时间:
2014-05-29 23:06:43
阅读次数:
400
notifyAll()因某个特定锁而被调用时,只有等待这个锁的任务才会被唤醒。package
Thread.Wait;import java.util.Timer;import java.util.TimerTask;import
java.util.concurrent.ExecutorServi...
分类:
编程语言 时间:
2014-05-29 21:36:13
阅读次数:
306