在子线程中,run函数中以及其中调用的都在单独的子线程里面运行,但是其他的类似构造函数之流都是在主线程里面运行的,不要搞混了…
http://www.cnblogs.com/lovebread/archive/2009/11/24/1609936.html…
在上一篇中记录了用fprintf函数写内容到文件中的方法,但是发现了问题:产生的文件字符串有乱码现象. 解决办法:用_ftprintf函数 另外,据说: unicode的话要用fwprintf         unicode 和 ANSI两个版本都可用的有宏_ftprintf 但是如下代码中出来的是“???”: CString str = "紫清婷"; _ftprintf(fp, _T("%s\n"), str); 试了半天,发现字母和数字都正确写入文件,但是汉字写…
说明:在C++学习的过程中,虚继承-虚函数经常是初学者容易产生误解的两个概念,它们与C++中多态形成的关系,也是很多初学者经常产生困惑的地方,这篇文章将依次分别对三者进行解析,并讲述其之间的联系与不同. 一.虚继承 1.在多继承中,对于多个父类的数据及函数成员,虽然有时候把他们全部继承下来是有必要的,比如当这些成员都不同的时候.但在大多数的情况下,比如当多个父类之中的成员有重叠的地方时,因为保留多份数据成员的拷贝,不仅占有了较多的存储空间,还增加了访问的难度(由于继承了来自多个父类的同名数据成员…
多线程并发就像是内功,框架都像是外功,内功不足,外功也难得精要. 1.进程和线程的区别 一个程序至少有一个进程,一个进程至少有一个线程. 用工厂来比喻就是,一个工厂可以生产不同种类的产品,操作系统就是工厂,产品就是进程,工人就是线程. 工厂----->操作系统 产品----->进程 工人---->线程 一个工厂可以同时生产不同的产品,即多个产品可以同时进行生产; 一种产品可以由多个工人协同工作,同样可以同时进行; 对应到操作系统的设计,因此可以归结为三点: (1)以多进程形式,允许多个任…
Redis 到底是不是单线程的程序? 多 IO 线程的初始化 IO 线程运行函数 IOThreadMain 如何推迟客户端「读」操作? 如何推迟客户端「写」操作? 如何把待「读」客户端分配给 IO 线程执行? 如何把待「写」客户端分配给 IO 线程执行? 总结 参考链接 Redis 源码简洁剖析系列 Redis 到底是不是单线程的程序? Redis 只有在处理「客户端请求」时,是单线程的:整个 Redis server 不是单线程的,还有后台线程在辅助处理任务. Redis 选择单线程处理请求,…
MainWindow::MainWindow(QWidget *parent) :   QMainWindow(parent)   {   pThreadCon = new CSerialThread();   pThreadCon->start();       m_pTimer = new QTimer();   connect(m_pTimer,SIGNAL(timeout()),SLOT(onTimer()));   m_pTimer->start(1000);   }       v…
QThread的常见特性: run()是线程的入口,就像main()对于应用程序的作用.QThread中对run()的默认实现调用了exec(),从而创建一个QEventLoop对象,由其处理该线程事件队列(每一个线程都有一个属于自己的事件队列)中的事件.简单用代码描述如下: 1 int QThread::exec() 2 { 3 //... 4 QEventLoop eventLoop; 5 int returnCode = eventLoop.exec(); 6 //... 7 return…
关于qt中的tr()函数 在论坛中漂,经常遇到有人遇到tr相关的问题.用tr的有两类人: (1)因为发现中文老出问题,然后搜索,发现很多人用tr,于是他也开始用tr (2)另一类人,确实是出于国际化的需要,将需要在界面上显示的文件都用tr包起来,这有分两种: (2a) 用tr包住英文(最最推荐的用法,源码英文,然后提供英文到其他语言的翻译包) (2b) 用tr包住中文(源码用中文,然后提供中文到其他语言的翻译包) 注意哦,如果你正在用tr包裹中文字符,却不属于(2b),那么,这是个信号: 你在误…
在写一个Tomcat应用,类需要被信号处理函数回调,可是在单独的程序中测试没用问题: void OnSingalHandler(int sig) { ... JNIEnv* env=NULL; if (g_VM->AttachCurrentThread((void**)&env, NULL) != JNI_OK) { printf("AttachCurrentThread failed!\n"); } jclass cls = env->FindClass(&quo…