网页资讯视频图片知道文库贴吧地图采购
进入贴吧全吧搜索

 
 
 
日一二三四五六
       
       
       
       
       
       

签到排名:今日本吧第个签到,

本吧因你更精彩,明天继续来努力!

本吧签到人数:0

一键签到
成为超级会员,使用一键签到
一键签到
本月漏签0次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行补签。
连续签到:天  累计签到:天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
09月03日漏签0天
显卡吧 关注:7,756,702贴子:206,571,029
  • 看贴

  • 图片

  • 吧主推荐

  • 视频

  • 游戏

  • 14回复贴,共1页
<<返回显卡吧
>0< 加载中...

为什么刚才我做了一个多线程的循环 CPU还是不能100%

  • 只看楼主
  • 收藏

  • 回复
  • 食人帅蚂蚁
  • Mali
    8
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
最多才50%  是4核的  多个线程循环输出


  • 食人帅蚂蚁
  • Mali
    8
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
// zzz.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include "windows.h"
#include "stdio.h"
int workID=10;
int maxID=500000;
HANDLE hMutex;
DWORD __stdcall ThreadFunOne(LPVOID lParam)
{
WaitForSingleObject(hMutex,INFINITE);
for(;;)
{
if(workID<maxID)
{
// Sleep(100);
workID+=1;
 printf("当前工作线程1,%i\n",workID);
}
  ReleaseMutex(hMutex);
}
return 0;
}
DWORD __stdcall ThreadFunTwo(LPVOID lParam)
{
WaitForSingleObject(hMutex,INFINITE);
for(;;)
{
if(workID<maxID)
{ 
// Sleep(100);
workID+=1;
 printf("当前工作线程2,%i\n",workID);
}
ReleaseMutex(hMutex);
}
return 0;
}
DWORD __stdcall ThreadFunThree(LPVOID lParam)
{
WaitForSingleObject(hMutex,INFINITE);
for(;;)
{
if(workID<maxID)
{
// Sleep(100);
workID+=1;
 printf("当前工作线程3,%i\n",workID);
}
  ReleaseMutex(hMutex);
}
return 0;
}
DWORD __stdcall ThreadFunFour(LPVOID lParam)
{
WaitForSingleObject(hMutex,INFINITE);
for(;;)
{
if(workID<maxID)
{
// Sleep(100);
workID+=1;
 printf("当前工作线程4,%i\n",workID);
}
  ReleaseMutex(hMutex);
}
return 0;
}
int main(int argc, char* argv[])
{
hMutex=CreateMutex(NULL,false,"mutex");
HANDLE hThread1,hThread2,hThread3,hThread4;
hThread1=::CreateThread(NULL,0,ThreadFunOne,NULL,0,NULL);
 hThread2=::CreateThread(NULL,0,ThreadFunTwo,NULL,0,NULL);
hThread3=::CreateThread(NULL,0,ThreadFunThree,NULL,0,NULL);
hThread4=::CreateThread(NULL,0,ThreadFunFour,NULL,0,NULL);
 while(true)
{
}
return 0;
}


2025-09-03 18:32:40
广告
不感兴趣
开通SVIP免广告
  • 食人帅蚂蚁
  • Mali
    8
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
我一直以为多线程就能让4个核都用上呢, 结果一个线程是48%, 多个线程还是50%多点.


  • 食人帅蚂蚁
  • Mali
    8
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
那怎么弄才行啊


  • RSeriesXTX
  • 熟记吧规
    5
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
我刚开始学C,最基本的for循环还没弄懂呢


  • 食人帅蚂蚁
  • Mali
    8
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
不是啊,学着玩玩的


  • funlimit
  • Wildcat
    12
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
嘛,你开两个
在任务管理器里指定核心。。


  • 食人帅蚂蚁
  • Mali
    8
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
好啊..我也有很多问题请教呢


2025-09-03 18:26:40
广告
不感兴趣
开通SVIP免广告
  • 暗黑骑兵队长
  • Mali
    8
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
唉,我根本就没去学多核编程


登录百度账号

扫二维码下载贴吧客户端

下载贴吧APP
看高清直播、视频!
  • 贴吧页面意见反馈
  • 违规贴吧举报反馈通道
  • 贴吧违规信息处理公示
  • 14回复贴,共1页
<<返回显卡吧
分享到:
©2025 Baidu贴吧协议|隐私政策|吧主制度|意见反馈|网络谣言警示