blog

QT–线程

每个程序启动后就会拥有一个线程。该线程称为”主线程”(在Qt应用程序中也叫”GUI线程”)。Qt GUI必须运行在此线程上。所有的图形元件和几个相关的类,如QPixmap,不能工作于非主线程中。非主线程通常称为”工作者线程”,因为它主要处理从主线程中卸下的一些工作。如数据的同步访问。

QT线程工作原理

A QThread object manages one thread of control within the program. QThreads begin executing in run(). By default, run() starts the event loop by calling exec() and runs a Qt event loop inside the thread

run函数–The starting point for the thread. After calling start(), the newly created thread calls this function. The default implementation simply calls exec().

It is important to remember that a QThread instance lives in the old thread that instantiated it, not in the new thread ** that calls run(). **This means that all of QThread’s queued slots will execute in the old thread. Thus, a developer who wishes to invoke slots in the new thread must use the worker-object approach(因此,希望调用新线程中的插槽的开发人员必须使用worker-object方法;不应将新插槽直接实现到子类QThread中。); new slots should not be implemented directly into a subclassed QThread.

When subclassing QThread,** keep in mind that the constructor executes in the old thread while run() executes in the new thread.(QThread只有run函数是在新线程里的,其他所有函数都在QThread生成的线程里)** If a member variable is accessed from both functions, then the variable is accessed from two different threads. Check that it is safe to do so.
上面是Qt 官方文档,
如果QThread是在ui所在的线程里生成,那么QThread的其他非run函数都是和ui线程一样的,所以,QThread的继承类的其他函数尽量别要有太耗时的操作,要确保所有耗时的操作都在run函数里。
在UI线程下调用QThread的非run函数(其实也不应该直接调用run函数,而应该使用start函数),和执行普通函数无区别,这时,如果这个函数要对QThread的某个变量进行变更,而这个变量在run函数里也会被用到,这时就需要注意加锁的问题,因为可能这个变量前几毫秒刚刚在run中调用,再调用时已经被另外的线程修改了。

AR草稿

AR 魔镜(功能,视频)—论文,互联网质料,应用,商场应用-试装
骨架识别,姿态识别,表情识别,
互动
uinity +Qt,
效果提升
视频记录,存储,配乐
内容差异

http://www.87870.com/news/1710/29218.html
http://www.5588.tv/news/76528.html

魔镜功能

MAC推迟试装魔镜,魔镜检测脸部健康状态,推荐产品

AR常用SDK

ARtoolkit–库
easyAR

什么是Unity?

Unity3D是由Unity Technologies开发的一个让玩家轻松创建诸如三维视频游戏、建筑可视化、实时三维动画等类型互动内容的多平台的综合型游戏开发工具,是一个全面整合的专业游戏引擎。
Unity。软件 ,其编辑器运行在Windows 和Mac OS X下,开发-C#或JavaScript
https://yuedu.baidu.com/ebook/30362f3a814d2b160b4e767f5acfa1c7aa0082d5?pn=1

什么是ARToolkit

ARToolkit,是一个开源的AR(增强现实)SDK。
ARToolKit 目前支持以下操作系统:
SGI IRIX
PC Linux
Mac OS X

骨骼识别

体感技术–用动作捕捉技术–kinect摄像头