Qt之多线程

多线程这个东西网上也已经资料泛滥了,再怎么说都是炒现饭,直接给出一些链接,留着备用,就当是一个总结工作吧。

http://blog.csdn.net/mznewfacer/article/details/6965799

http://blog.csdn.net/mznewfacer/article/details/6966752

http://www.cnblogs.com/li-peng/p/3653781.html

http://qimo601.iteye.com/blog/1271835

总而言之,我只知道有两种方法。一种是重写QThread中的run()函数,这样run()函数中的内容就在另一个线程中。还有一种就是movetothread()函数。


另外一个问题,曾经在一次面试中,面试官问我信号量和互斥锁的区别,把我问蒙了。回来赶紧查,以下是一些资料。

http://blog.chinaunix.net/uid-24612247-id-2305050.html

http://www.cnblogs.com/CareySon/archive/2012/04/14/Process-SynAndmutex.html

总而言之,互斥锁是实现互斥的,信号量是实现同步的,两者实现的功能不一样。所以这个问题也就是同步与互斥的区别。

互斥指的是某个资源某一时刻只能被一个访问者访问,如果其他的访问者此时也想访问,则必须阻塞,就像我们去买东西排队一样。同步指的是访问者对资源的有序访问,一般是在互斥的基础上实现的,就像你要吃苹果的前提是你已经买了苹果

同时,互斥锁的加锁和解锁必须在同一个线程中完成,而信号量则可以由一个线程释放,另一个线程得到。

posted on 2015-05-01 19:56  cha1992  阅读(202)  评论(0编辑  收藏  举报

导航