考试辅导

名师推荐

试听名师的课 查看所有名师

2011年软件设计师辅导:并行排序算法(3) 发布时间:2011-03-15 22:21 来源:互联网

2011年软件设计师辅导:并行排序算法(3)

  // Copy data to splited array

  for ( int i = 0 ; i < processorCount; i ++ )

  {

  if (i == processorCount - 1 )

  {

  partArray[i] = new ParallelEntity(Status.Idle, new T[remain], comparer);

  }

  else

  {

  partArray[i] = new ParallelEntity(Status.Idle, new T[partLen], comparer);

  remain -= partLen;

  }

  Array.Copy(array, i * partLen, partArray[i].Array, 0 , partArray[i].Array.Length);

  }

  // Parallel sort

  for ( int i = 0 ; i < processorCount - 1 ; i ++ )

  {

  ThreadPool.QueueUserWorkItem( new WaitCallback(ThreadProc), partArray[i]);

  }

  ThreadProc(partArray[processorCount - 1 ]);

  // Wait all threads finish

  for ( int i = 0 ; i < processorCount; i ++ )

  {

  while ( true )

  {

  lock (partArray[i])

  {

  if (partArray[i].Status == ParallelSort < T > .Status.Finish)

  {

  break ;

  }

  }

  Thread.Sleep( 0 );

  }

  }

第一考试网友情提示:如果您遇到任何疑问,请登录第一考试网考试辅导频道或添加qq:,第一考试网以“为考友服务”为宗旨,秉承“快乐学习,轻松考试!”的理念,旨在为广大考友打造一个良好、温馨的学习与交流平台,欢迎持续关注。以上是小编为大家推荐的《2011年软件设计师辅导:并行排序算法(3)》相关信息。

编辑推荐

VRRP协议的相关信息

2011年软考数据库系统工程师知识点讲解(5)

用vsftpd代码建立虚拟主机

H.248协议的作用及功能介绍

2011年软件设计师知识点:什么是设计模式