使用线程加载屏幕动画
我制作了一个游戏,它是用C++和directX编写的。使用线程加载屏幕动画
当用户选择播放屏幕的任务在一段时间内变为空白时,它会加载所有资源。所以用户知道游戏没有崩溃,我想用动画制作加载屏幕。
我的问题是这样的:
如果一个线程(主要的)崩溃做的过程中坠毁的所有主题?
你可以从创建它的线程中销毁一个线程还是线程必须自行终止?
我是新来的多线程,并没有使用过。很多人说它会让程序变得不必要的复杂,所以值得让我的程序多线程仅仅用于加载屏幕还是有另一种方法呢?
如果一个线程(主线程)崩溃会导致进程崩溃的所有线程?
如果主线程崩溃(即UI线程),显然应用程序崩溃。如果任何工作线程崩溃,您将得到一个可以选择忽略的异常。
你可以从创建它的线程中销毁一个线程还是线程必须自行终止?
通常,线程本身应该自行终止(即完成执行)。很明显,你可以发出任何辅助线程停止主线程的信号。
我是新来的多线程,并没有使用过。很多人说它会让程序变得不必要的复杂,所以值得让我的程序多线程仅仅用于加载屏幕还是有另一种方法呢?
如果您认真对待编程,现在比以前更好,那么您将不得不学习多任务处理。
如果一个线程(主要的)崩溃做的过程中坠毁的所有主题?
如果通过“崩溃”表示未处理的异常传播到操作系统 - 是的。
你可以从创建它的线程中销毁一个线程还是线程必须自行终止?
还有TerminateThread
,但不推荐使用。更好地通知线程它应该终止并将实际的清理留给线程。
我是新来的多线程,并没有使用过。很多人说它会让程序变得不必要的复杂,所以值得让我的程序多线程仅仅用于加载屏幕还是有另一种方法呢?
加载屏幕实际上是多线程的一个很好的例子。但是,我不会创建额外的线程来呈现加载屏幕,而是使用多个线程在您的资源中进行流式处理。渲染应该由一个线程完成(通常建议所有DirectX版本)。
如果我在我的资源中使用多个线程进行流式处理,那么仍然不会使屏幕出现问题?你的意思是说,当我的主线程处理计算和移动图像时,有一个线程不断渲染? – Skeith 2011-04-21 13:18:40
我会让我的主线程在紧密的循环中呈现,而其他线程在完成时会加载资源和信号,在这种情况下,主线程继续前进。 – 2011-04-21 13:23:53