⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 csdn技术中心 用vc线程模拟实现并行算法.htm

📁 vc下如何实现并行算法
💻 HTM
📖 第 1 页 / 共 4 页
字号:
            class=txt><SPAN lang=EN-US 
            style="FONT-SIZE: 11pt; FONT-FAMILY: Arial">A(1)</SPAN></SPAN><SPAN 
            class=txt><SPAN 
            style="FONT-SIZE: 11pt; FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">中。</SPAN></SPAN><SPAN 
            class=txt><SPAN lang=EN-US 
            style="FONT-SIZE: 11pt; FONT-FAMILY: Arial"><o:p></o:p></SPAN></SPAN></P>
            <P class=MsoNormal 
            style="MARGIN: 0cm 0cm 12pt; LINE-HEIGHT: 15pt"><SPAN lang=EN-US 
            style="FONT-SIZE: 11pt; FONT-FAMILY: Arial">Begin<BR>For k=m-1 to 0 
            do <BR><SPAN style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>For 
            j=2<SUP>k+1</SUP>-1 to 2<SUP>k</SUP> par do<BR><SPAN 
            style="mso-spacerun: yes">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
            </SPAN>A(j)=max(A(2j)</SPAN><SPAN 
            style="FONT-SIZE: 11pt; FONT-FAMILY: 宋体; mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">,</SPAN><SPAN 
            lang=EN-US 
            style="FONT-SIZE: 11pt; FONT-FAMILY: Arial">A(2j+1))<BR><SPAN 
            style="mso-spacerun: yes">&nbsp;&nbsp; </SPAN>End For<BR>End 
            For<BR>End</SPAN></P>
            <P class=MsoNormal 
            style="MARGIN: 0cm 0cm 12pt; LINE-HEIGHT: 15pt"><SPAN lang=EN-US 
            style="FONT-SIZE: 11pt; FONT-FAMILY: Arial">具体实现:<SPAN 
            class=txt><o:p></o:p></SPAN></SPAN></P>
            <P class=MsoNormal 
            style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 15pt"><FONT size=3><SPAN 
            style="mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial"><FONT 
            face=宋体>  定义全局变量如下,</FONT></SPAN><SPAN lang=EN-US 
            style="FONT-FAMILY: Arial">array</SPAN><FONT face=宋体><SPAN 
            style="mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">用于存放产生的随机数。</SPAN><SPAN 
            lang=EN-US 
            style="FONT-FAMILY: Arial"><o:p></o:p></SPAN></FONT></FONT></P>
            <TABLE 
            style="BACKGROUND: white; WIDTH: 100%; mso-cellspacing: 1.5pt; mso-padding-alt: 0cm 0cm 0cm 0cm" 
            cellPadding=0 width="100%" bgColor=white border=0>
              <TBODY>
              <TR>
                <TD 
                style="BORDER-RIGHT: #d4d0c8; PADDING-RIGHT: 0cm; BORDER-TOP: #d4d0c8; PADDING-LEFT: 0cm; PADDING-BOTTOM: 0cm; BORDER-LEFT: #d4d0c8; PADDING-TOP: 0cm; BORDER-BOTTOM: #d4d0c8; BACKGROUND-COLOR: transparent">
                  <P class=MsoNormal 
                  style="MARGIN: 0cm 0cm 0pt; LINE-HEIGHT: 15pt"><SPAN 
                  lang=EN-US style="FONT-SIZE: 11pt; FONT-FAMILY: Arial">int 
                  g_nCount=0,j=0;<BR>int 
              *array;<o:p></o:p></SPAN></P></TD></TR></TBODY></TABLE>
            <P style="LINE-HEIGHT: 15pt"><FONT size=3><SPAN 
            style="mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial"><FONT 
            face=宋体>  随机产生</FONT></SPAN><SPAN lang=EN-US 
            style="FONT-FAMILY: Arial">n</SPAN><SPAN 
            style="mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial"><FONT 
            face=宋体>个数并存于数组</FONT></SPAN><SPAN lang=EN-US 
            style="FONT-FAMILY: Arial">array</SPAN><FONT face=宋体><SPAN 
            style="mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial">中,程序代码如下:</SPAN><SPAN 
            lang=EN-US 
            style="FONT-FAMILY: Arial"><o:p></o:p></SPAN></FONT></FONT></P>
            <TABLE 
            style="BACKGROUND: white; WIDTH: 100%; mso-cellspacing: 1.5pt; mso-padding-alt: 0cm 0cm 0cm 0cm" 
            cellPadding=0 width="100%" bgColor=white border=0>
              <TBODY>
              <TR>
                <TD 
                style="BORDER-RIGHT: #d4d0c8; PADDING-RIGHT: 0cm; BORDER-TOP: #d4d0c8; PADDING-LEFT: 0cm; PADDING-BOTTOM: 0cm; BORDER-LEFT: #d4d0c8; PADDING-TOP: 0cm; BORDER-BOTTOM: #d4d0c8; BACKGROUND-COLOR: transparent">
                  <P style="LINE-HEIGHT: 15pt"><SPAN lang=EN-US 
                  style="FONT-FAMILY: Arial">void CDemoDlg::OnBtnInitial() 
                  <BR>{<BR></SPAN><SPAN 
                  style="mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial"><FONT 
                  face=宋体> </FONT></SPAN><SPAN lang=EN-US 
                  style="FONT-FAMILY: Arial">// </SPAN><SPAN 
                  style="mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial"><FONT 
                  face=宋体>初始化数组</FONT></SPAN><SPAN lang=EN-US 
                  style="FONT-FAMILY: Arial"><BR><BR></SPAN><SPAN 
                  style="mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial"><FONT 
                  face=宋体> </FONT></SPAN><SPAN lang=EN-US 
                  style="FONT-FAMILY: Arial">srand((unsigned)time(NULL));<BR></SPAN><SPAN 
                  style="mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial"><FONT 
                  face=宋体> </FONT></SPAN><SPAN lang=EN-US 
                  style="FONT-FAMILY: Arial">int i,temp;<BR></SPAN><SPAN 
                  style="mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial"><FONT 
                  face=宋体> </FONT></SPAN><SPAN lang=EN-US 
                  style="FONT-FAMILY: Arial">CString str;<BR></SPAN><SPAN 
                  style="mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial"><FONT 
                  face=宋体> </FONT></SPAN><SPAN lang=EN-US 
                  style="FONT-FAMILY: Arial">UpdateData(true);<BR></SPAN><SPAN 
                  style="mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial"><FONT 
                  face=宋体> </FONT></SPAN><SPAN lang=EN-US 
                  style="FONT-FAMILY: Arial">g_nCount=pow(2,m_intCount);<BR></SPAN><SPAN 
                  style="mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial"><FONT 
                  face=宋体> </FONT></SPAN><SPAN lang=EN-US 
                  style="FONT-FAMILY: Arial">array=new 
                  int[2*g_nCount];<BR></SPAN><SPAN 
                  style="mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial"><FONT 
                  face=宋体> </FONT></SPAN><SPAN lang=EN-US 
                  style="FONT-FAMILY: Arial">//</SPAN><SPAN 
                  style="mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial"><FONT 
                  face=宋体>根据用户的输入,产生</FONT></SPAN><SPAN lang=EN-US 
                  style="FONT-FAMILY: Arial">2</SPAN><SPAN 
                  style="mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial"><FONT 
                  face=宋体>的</FONT></SPAN><SPAN lang=EN-US 
                  style="FONT-FAMILY: Arial">m</SPAN><SPAN 
                  style="mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial"><FONT 
                  face=宋体>次方的随机数并存于</FONT></SPAN><SPAN lang=EN-US 
                  style="FONT-FAMILY: Arial">array[n]</SPAN><SPAN 
                  style="mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial"><FONT 
                  face=宋体>…</FONT></SPAN><SPAN lang=EN-US 
                  style="FONT-FAMILY: Arial">a[2n-1]</SPAN><SPAN 
                  style="mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial"><FONT 
                  face=宋体>中</FONT></SPAN><SPAN lang=EN-US 
                  style="FONT-FAMILY: Arial"><BR></SPAN><SPAN 
                  style="mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial"><FONT 
                  face=宋体> </FONT></SPAN><SPAN lang=EN-US 
                  style="FONT-FAMILY: Arial">for(i=g_nCount;i&lt;2*g_nCount;i++)<BR></SPAN><SPAN 
                  style="mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial"><FONT 
                  face=宋体> </FONT></SPAN><SPAN lang=EN-US 
                  style="FONT-FAMILY: Arial">{<BR><BR></SPAN><SPAN 
                  style="mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial"><FONT 
                  face=宋体>  </FONT></SPAN><SPAN lang=EN-US 
                  style="FONT-FAMILY: Arial">temp=rand()/100;<BR></SPAN><SPAN 
                  style="mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial"><FONT 
                  face=宋体>  </FONT></SPAN><SPAN lang=EN-US 
                  style="FONT-FAMILY: Arial">array[i]=temp;<BR></SPAN><SPAN 
                  style="mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial"><FONT 
                  face=宋体> </FONT></SPAN><SPAN lang=EN-US 
                  style="FONT-FAMILY: Arial">}<BR></SPAN><SPAN 
                  style="mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial"><FONT 
                  face=宋体> </FONT></SPAN><SPAN lang=EN-US 
                  style="FONT-FAMILY: Arial">//</SPAN><SPAN 
                  style="mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial"><FONT 
                  face=宋体>显示产生的</FONT></SPAN><SPAN lang=EN-US 
                  style="FONT-FAMILY: Arial">n</SPAN><SPAN 
                  style="mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial"><FONT 
                  face=宋体>个随机数</FONT></SPAN><SPAN lang=EN-US 
                  style="FONT-FAMILY: Arial"><BR></SPAN><SPAN 
                  style="mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial"><FONT 
                  face=宋体> </FONT></SPAN><SPAN lang=EN-US 
                  style="FONT-FAMILY: Arial">for(i=g_nCount;i&lt;2*g_nCount;i++)<BR></SPAN><SPAN 
                  style="mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial"><FONT 
                  face=宋体> </FONT></SPAN><SPAN lang=EN-US 
                  style="FONT-FAMILY: Arial">{<BR></SPAN><SPAN 
                  style="mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial"><FONT 
                  face=宋体>  </FONT></SPAN><SPAN lang=EN-US 
                  style="FONT-FAMILY: Arial">str.Format("Array[%d]= 
                  %d",i,array[i]);<BR></SPAN><SPAN 
                  style="mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial"><FONT 
                  face=宋体>  </FONT></SPAN><SPAN lang=EN-US 
                  style="FONT-FAMILY: Arial">m_strArray+="\r\n";<BR></SPAN><SPAN 
                  style="mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial"><FONT 
                  face=宋体>  </FONT></SPAN><SPAN lang=EN-US 
                  style="FONT-FAMILY: Arial">m_strArray+= str;<BR></SPAN><SPAN 
                  style="mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial"><FONT 
                  face=宋体>  </FONT></SPAN><SPAN lang=EN-US 
                  style="FONT-FAMILY: Arial">m_strArray+="\r\n";<BR></SPAN><SPAN 
                  style="mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial"><FONT 
                  face=宋体> </FONT></SPAN><SPAN lang=EN-US 
                  style="FONT-FAMILY: Arial">}<BR></SPAN><SPAN 
                  style="mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial"><FONT 
                  face=宋体> </FONT></SPAN><SPAN lang=EN-US 
                  style="FONT-FAMILY: Arial">m_strArray+="\r\n";<BR></SPAN><SPAN 
                  style="mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial"><FONT 
                  face=宋体> </FONT></SPAN><SPAN lang=EN-US 
                  style="FONT-FAMILY: Arial">UpdateData(false);<BR><BR>}<o:p></o:p></SPAN></P>
                  <P style="LINE-HEIGHT: 15pt"><SPAN lang=EN-US 
                  style="FONT-FAMILY: Arial">void CDemoDlg::OnBtnCompute() 
                  <BR>{<BR></SPAN><SPAN 
                  style="mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial"><FONT 
                  face=宋体> </FONT></SPAN><SPAN lang=EN-US 
                  style="FONT-FAMILY: Arial">// </SPAN><SPAN 
                  style="mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial"><FONT 
                  face=宋体>启动线程进行计算</FONT></SPAN><SPAN lang=EN-US 
                  style="FONT-FAMILY: Arial"><BR></SPAN><SPAN 
                  style="mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial"><FONT 
                  face=宋体> </FONT></SPAN><SPAN lang=EN-US 
                  style="FONT-FAMILY: Arial">int k;<BR></SPAN><SPAN 
                  style="mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial"><FONT 
                  face=宋体> </FONT></SPAN><SPAN lang=EN-US 
                  style="FONT-FAMILY: Arial">for(k=m_intCount-1;k&gt;=0;k--)<BR></SPAN><SPAN 
                  style="mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial"><FONT 
                  face=宋体> </FONT></SPAN><SPAN lang=EN-US 
                  style="FONT-FAMILY: Arial">{<BR></SPAN><SPAN 
                  style="mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial"><FONT 
                  face=宋体>  </FONT></SPAN><SPAN lang=EN-US 
                  style="FONT-FAMILY: Arial">for(j=pow(2,k);j&lt;POW(2,K+1);J++)<BR></SPAN><SPAN 
                  style="mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial"><FONT 
                  face=宋体>  </FONT></SPAN><SPAN lang=EN-US 
                  style="FONT-FAMILY: Arial">{<BR></SPAN><SPAN 
                  style="mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial"><FONT 
                  face=宋体>   </FONT></SPAN><SPAN lang=EN-US 
                  style="FONT-FAMILY: Arial">AfxBeginThread(ComputeThread,GetSafeHwnd(),<BR></SPAN><SPAN 
                  style="mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial"><FONT 
                  face=宋体>   </FONT></SPAN><SPAN lang=EN-US 
                  style="FONT-FAMILY: Arial">THREAD_PRIORITY_NORMAL);<BR></SPAN><SPAN 
                  style="mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial"><FONT 
                  face=宋体>  </FONT></SPAN><SPAN lang=EN-US 
                  style="FONT-FAMILY: Arial">}<BR><BR></SPAN><SPAN 
                  style="mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial"><FONT 
                  face=宋体> </FONT></SPAN><SPAN lang=EN-US 
                  style="FONT-FAMILY: Arial">}<BR></SPAN><SPAN 
                  style="mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial"><FONT 
                  face=宋体> </FONT></SPAN><SPAN lang=EN-US 
                  style="FONT-FAMILY: Arial">//</SPAN><SPAN 
                  style="mso-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family: Arial"><FONT 
                  face=宋体>线程体:较</FONT></SPAN><SPAN lang=EN-US 
                  style="FONT-FAMILY: Arial">array[2j]</SPAN><SPAN 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -