登录
首页 » VC++源码 » VC++ Thread多线程执行不同任务的例子

VC++ Thread多线程执行不同任务的例子

于 2022-12-06 发布 文件大小:21.37 kB
0 173
下载积分: 2 下载次数: 1

代码说明:

VC++ 创建多个 Thread多线程,用以执行不同任务的例子,运行程序后你可看到分别有红色、蓝色的小球,在沿各自不同的轨迹做运动,在代码中,我们创建了一个小球运动线程的主函数,分别用两个线程调用这个函数,但设定的参数不一样,在小球运动函数中,分别定义了小球X、Y方向的运动,确定重绘区域,重绘小球,挂起线程,控制小球速度,并取得客户区大小以及取得小球客户区相对于窗口客户区的位置等,最好还写了一个函数,终止蓝色和红色线程。

下载说明:请别用迅雷下载,失败请重下,重下不扣分!

发表评论

0 个回复

  • VC++ 实现基于文档视图结构的打印
    VC++ 实现基于文档视图结构的打印功能,把窗口中所显示的内容,包括表格全部打印出来,这种打印功能是最常规也是最实用的,源代码部分请参考DocViewPrintView.cpp文件,以下为参数定义:   CFont m_titlefont; //标题字体   CFont m_bodyfont; //正文字体   int screenx,screeny; //获取窗口每英寸像素数   int printx,printy; //获取打印机每英寸像素数   double xrate,yrate; //打印机与屏幕的像素比率   int pageheight; //打印纸高度   int pagewidth; //打印纸宽度   int leftmargin,rightmargin; //打印纸左右边距   BOOL isPreview; //是否处于预览状态
    2022-06-19 11:39:54下载
    积分:1
  • VC++ DirectShow开发指南
    VC++ DirectShow开发指南源码集,涉及的内容几乎涵盖了在Windows平台上使用DirectShow进行C++编码的方方面面。全书详细介绍了DirectShow的基础知识,重点讨论了Filter的开发,以及DirectShow   应用程序的开发,包括目前非常流行的如音视频采集、数码摄像机的支持、非线性   编辑等应用,深入分析了DirectShow SDK提供的部分典型源代码例子,结合作者个人的一些开发实践,通过案例和开放源码分析,进一步介绍DirectShow的实务应用。   此为本书的配套源码集,对VC++编程者来说,是比较不错的编程资料。
    2022-02-15 05:44:18下载
    积分:1
  • VC++ 三种方法创建不同类型的画刷
    VC++ 三种方法创建不同类型的画刷,本源码实例 演示了VC++使用三种方法创建画笔,最核心的代码:   void CCreatePenView::OnDraw(CDC* pDC)   {    CCreatePenDoc* pDoc = GetDocument();    ASSERT_VALID(pDoc);    // TODO: add draw code for native data here    // 第一种方法创建画笔    for (int i=0; i < 7; i++)    {    // 定义时调用构造函数    CPen myPen1(PS_SOLID + i,1,RGB(255,0,0));    CPen *pOldPen1 = pDC->SelectObject(&myPen1);    pDC->MoveTo(10,20*i+10);    pDC->LineTo(750,20*i+10);    // 恢复画笔对象    pDC->SelectObject(pOldPen1);    }    // 第二种方法创建画笔    for (int j = 0;j < 7; j++)    {    CPen myPen2; // 创建CPen类的一个对象myPen2    // 调用CreatePen()函数创建画笔    myPen2.CreatePen(PS_SOLID,j,RGB(0,255,255));    CPen *pOldPen2 = pDC->SelectObject(&myPen2);    pDC->MoveTo(10,180+20*j);    pDC->LineTo(750,180+j*20);    // 恢复画笔对象    pDC->SelectObject(pOldPen2);    }    // 第三种方法创建画笔    // 创建CPen类的一个对象myPen3    CPen myPen3;    // 设置LOGPEN结构;    LOGPEN lp ;    lp.lopnColor = RGB(255,0,255);    lp.lopnStyle = PS_SOLID ;    lp.lopnWidth.x = 8 ;    // 调用CreatePen
    2023-04-20 18:00:04下载
    积分:1
  • VC++ 使用互斥对象(Mutex)实现线程同步
    VC++ 使用互斥对象(Mutex)实现线程同步,使用临界区对象实现读、写线程的同步,通过一个写线程和读线程的实例,来演示Mutex实现的线程同步功能。用完后销毁读线程,如下示:   CSingleLock singleLock(&mutex);   singleLock.Lock();   TerminateThread(g_ReadHnd, 0);//终止读线程   singleLock.Unlock();//释放资源   m_ReadEdit.SetWindowText("终止读线程");   GetDlgItem(IDC_STARR)->EnableWindow(true);//启动按钮生效   GetDlgItem(IDC_STOPR)->EnableWindow(false);//停止按钮无效
    2022-04-11 14:27:41下载
    积分:1
  • VC++ 遍历记录集的实现方法和代
    VC++ 遍历记录集的例子,需要数据库配合,核心代码如下:   //连接数据库   OnInitADOConn();   //设置查询字符串   _bstr_t bstrSQL = "select * from employees order by 员工编号 desc";   //创建记录集指针对象实例   m_pRecordset.CreateInstance(__uuidof(Recordset));   //打开记录集   m_pRecordset->Open(bstrSQL,m_pConnection.GetInterfacePtr(),adOpenDynamic,    adLockOptimistic,adCmdText);   //遍历记录集   while(!m_pRecordset->adoEOF)   {    m_Grid.InsertItem(0,"");    m_Grid.SetItemText(0,0,(char*)(_bstr_t)m_pRecordset->GetCollect("员工编号"));    m_Grid.SetItemText(0,1,(char*)(_bstr_t)m_pRecordset->GetCollect("员工姓名"));    m_Grid.SetItemText(0,2,(char*)(_bstr_t)m_pRecordset->GetCollect("所属部门"));    m_Grid.SetItemText(0,3,(char*)(_bstr_t)m_pRecordset->GetCollect("基本工资"));    //将记录集指针移动到下一条记录    m_pRecordset->MoveNext();   }   //断开数据库连接   ExitConnect();
    2022-09-02 14:45:03下载
    积分:1
  • VC++ ado 登录模块实现范例
    VC++ ado 登录模块实现范例,因为使用ADO模块,所以要先初始化COM组件库,然后调用ADO库连接数据库,读取用户名密码是否与数据库的相符,相符则登录成功,不相符则弹出提示信息。本源码比较简单,演示了基本的基于数据库的用户名和密码判断程序,面向VC++初学者吧。
    2023-03-17 05:10:03下载
    积分:1
  • VC++ 获取IE运行实例的标题,并修改其标题
    VC++ 获取IE运行实例的标题,并修改其标题,大致的实现步骤:设置列表控件的风格、创建COM变量的实例、获取当前正在运行的所有IE窗口的标题信息,刷新列表控件、释放IE实例对象、获得第i个ie实例、获得文档对象、获得文档标题、将IE标题填充到列表框、用户选择指定的IE标题项,然后设定ie标题、销毁窗口时,清除com环境、清除所有com对象。
    2022-03-31 12:59:54下载
    积分:1
  • VC++6.0释放EXE资文件
    VC++6.0释放EXE资源文件,要释放的程序是一个简单的MessageBox,基于MFC对话框程序,先插入已经存EXE(或DLL)文件到VC资源文件中。   /* 函数说明:释放资源中某类型的文件   /* 参 数:新文件名、资源ID、资源类型   /* 返 回 值:成功返回TRUE,否则返回FALSE   BOOL CTestDlg::ReleaseRes(CString strFileName,WORD wResID,CString strFileType)   {    // 资源大小    DWORD dwWrite=0;    // 创建文件    HANDLE hFile = CreateFile(strFileName, GENERIC_WRITE,FILE_SHARE_WRITE,NULL,    CREATE_ALWAYS,FILE_ATTRIBUTE_NORMAL,NULL);    if ( hFile == INVALID_HANDLE_VALUE )    {    return FALSE;    }    // 查找资源文件中、加载资源到内存、得到资源大小    HRSRC hrsc = FindResource(NULL, MAKEINTRESOURCE(wResID), strFileType);    HGLOBAL hG = LoadResource(NULL, hrsc);    DWORD dwSize = SizeofResource( NULL, hrsc);    // 写入文件    WriteFile(hFile,hG,dwSize,&dwWrite,NULL);    CloseHandle( hFile );    return TRUE;   }
    2022-12-26 04:00:03下载
    积分:1
  • VC 多种进制转换 二进制 十六进制等
    VC++ 进制转换,可完成以下转换:转换十进制数,转换二进制数,转换十六进制数,转换十六进制为二进制,转换一位十六进制数为十进制,转换二进制为十六进制,位数不是四的倍数时补齐,每四位二进制数转换为一十六进制数,转换十进制为二进制,转换二进制为十进制等。
    2022-01-25 23:55:04下载
    积分:1
  • VC++ 使用WinInet通过HTTP协议读取网上文件
    VC++ 6.0 使用WinInet通过HTTP协议读取网上文件   在一个按钮事件中定义了网络连接Session:   CInternetSession httpsession;//定义网络连接Session   CString Line;   CInternetFile* webfile=NULL;//定义一个文件对象指针   UpdateData();   if(m_Url.Left(7)!="http://")//如果地址不含HTTP类型标志则添加本地文件类型标志   读出文件前一部分,如果文件多于80行,三示例中只显示前80行.然后更新显示文件:   UpdateData(FALSE);//更新显示文件   delete webfile;//删除文件   GetDlgItem (IDC_SHOW)->EnableWindow (FALSE);//禁用显示按钮   httpsession.Close();//关闭连接
    2023-09-07 18:35:03下载
    积分:1
  • 696518资源总数
  • 105885会员总数
  • 31今日下载