2.4 线程/图形学
无幻
这个作者很懒,什么都没留下…
展开
-
数值微分算法(DDA画线算法)
基本思想 已知过端点 P0(x0 ,y0),P1(x1,y1) 的直线段L:y=kx+b 直线斜率为 k=(y1-y0)/(x1-x0) 从x的左端点x0开始,向x右端点步进。步长=1(个象素),计算相应的y坐标 y=kx+b;取象素点(x, round(y))作为当前点的坐标。 效果如下:原创 2010-04-01 23:32:00 · 12647 阅读 · 1 评论 -
互斥体CMutex的使用
互斥体是CMutex类的对象,也只允许一个线程占有某个共享资源,以保护独占式共享资源。原创 2010-07-29 14:31:00 · 19111 阅读 · 2 评论 -
临界段CCriticalSection的使用
类CCriticalSection的对象表示一个“临界区”,它是一个用于同步的对象,同一时刻只允许一个线程存取资源或代码区。临界区在控制一次只有一个线程修改数据或其它的控制资源时非常有用。原创 2010-07-29 10:00:00 · 16531 阅读 · 3 评论 -
事件CEvent的使用
CEvent类的一个对象,表示一个“事件”——一个允许一个事件发生时线程通知另一个线程的同步对象。在一个线程需要了解何时执行任务时,事件是十分有用的。原创 2010-07-27 00:58:00 · 34719 阅读 · 2 评论 -
线程同步(同步对象、同步访问对象)
在多线程的情况下,如果存在多个线程要使用同一个资源的情况时,则需要在线程之间进行协调(同步)才能使程序完成预定的工作,而不会出现灾难性的冲突。原创 2010-07-25 10:46:00 · 7196 阅读 · 1 评论 -
用户界面线程AfxBeginThread的使用
用户界面线程在运行时会有一个窗口界面和与其相对应的窗口函数,所以它可以通过响应消息来和用户进行交互。原创 2010-07-24 23:42:00 · 13820 阅读 · 2 评论 -
工作线程AfxBeginThread的使用
工作线程通常用来执行一些后台任务,如:数据计算、后台杀毒等等。因为不需要创建窗口和处理用户消息,编写比较容易,在程序中只要调用AfxBeginThread函数就可以创建并启动一个工作线程了。原创 2010-07-24 18:17:00 · 16118 阅读 · 0 评论 -
VC动态轨迹画线
这是一个绘制直线的简单绘图程序,能过实现动态轨迹画线,在拖动时产生临时线来表示可能画出的直线效果。首先:建立一个单文档程序,名称为Demo然后:在视图类的声明文件里面加入数据成员class CDemoView : public CView{//········protected: int m_Dragging; HCURSOR m_HCross; CPoint原创 2010-04-30 22:14:00 · 10686 阅读 · 0 评论 -
中点画线算法(任意斜率)
基本原理 在画直线段的过程中,当前像素点为(xp ,yp ),下一个像素点有两种可选择点P1(xp +1,yp )或P2(xp +1,yp +1)。若M=(xp +1,yp +0.5)为P1与P2之中点,Q为P理想直线与x=xp +1垂线的交点。当M在Q的下方,则P2应为下一个像素点;M在Q的上方,应取P1为下一个像素点。在斜率0<=k<=1的时候,实现代码如下...原创 2019-09-29 08:56:22 · 35014 阅读 · 12 评论 -
信号量CSemaphore的使用
信号量是CSemaphore的对象,该对象的作用是对访问某个共享资源的线程的数目进行控制。原创 2010-07-29 17:21:00 · 10431 阅读 · 0 评论