读书人

跪求:linux上pthread 双线程计算和单

发布时间: 2012-09-24 13:49:42 作者: rapoo

跪求:linux下pthread 双线程计算和单线程的运行时间完全相同是为什么?
计算一组(1024对)向量点积,用两个线程(各计算512对),运行时间和用一个线程(1024对)完全相同,访问的数据无冲突,代码简要如下:

跪求大神帮忙!!!


167 //int pthread
168 pthread_t pid;
169 pthread_attr_t attr;
170

175 pthread_attr_init(&attr);
176 pthread_attr_setscope(&attr, PTHREAD_SCOPE_PROCESS);
177 pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_DETACHED);
178
179 for(int i=0; i<nT; ++i)
180 {
181 //CPara _CPara;
182 _CPara[i]._CData = &(_CData[i]);
183 _CPara[i].nT = nT;
184 cout << "In main, create " << i << " thread" << endl;
185 _CPara[i].nPid = i;

186 pthread_create(&pid, &attr, SDP, &(_CPara[i]));//计算点积
186, }


[解决办法]
打印语句去掉,任务量增大。

读书人网 >UNIXLINUX

热点推荐