VC驿站

 找回密码
 加入驿站

QQ登录

只需一步,快速开始

搜索
查看: 128|回复: 4

一个多线程的问题求助下老大

[复制链接]
12_avatar_middle
最佳答案
0 
在线会员 发表于 2020-3-1 14:14:15 | 显示全部楼层 |阅读模式
在一个按钮响应函数下,用 for 循环创建线程,它的执行流程是 先把for循环执行完 才去执行的 线程么? 另外为什么 把for 控制 循环的 变量 传到
线程中  这个变量的值 是随机值 这是为什么 一个多线程的问题求助下老大




上一篇:获取当前pid失败
下一篇:第46课 课后作业 拷贝文件
85_avatar_middle
最佳答案
3 
在线会员 发表于 2020-3-1 17:26:01 | 显示全部楼层
循环1次 ,"创建一个线程"不能这样理解
要理解成  循环1次 ,通知系统创建一个线程
创建线程很慢的 所以在循环10次后不一定创建好一个线程  
beginthreadex 啥的 还是封装了好几层的东西了 所以就更慢了
12_avatar_middle
最佳答案
0 
donate_vip 发表于 2020-3-1 14:57:50 | 显示全部楼层
贴代码出来
12_avatar_middle
最佳答案
0 
ico_lz  楼主| 发表于 2020-3-1 15:22:11 | 显示全部楼层

unsigned WINAPI thread_xixi(PVOID arg) {

        CMFCTestDlg *dlg =(CMFCTestDlg*)arg;
        CString str;

        TRACE(_T("%d"), dlg->i);
        str.Format(_T("%d"), dlg->i);
        MessageBox(NULL,str, _T(""),MB_OK);


        return 0;
}

void CMFCTestDlg::OnBnClickedButton1()
{
        for (i; i < 10; i++)
        {
                _beginthreadex(NULL, 0, thread_xixi, (PVOID)this, 0, 0);
        }
       
}

你看 这个 打印的 i 的值是 10 是不是就证明了  按钮触发下 是先循环10 次 才去执行的 线程?
12_avatar_middle
最佳答案
0 
ico_lz  楼主| 发表于 2020-3-1 20:24:46 | 显示全部楼层
tjzoo111 发表于 2020-3-1 17:26
循环1次 ,"创建一个线程"不能这样理解
要理解成  循环1次 ,通知系统创建一个线程
创建线程很慢的 所以在 ...

哦哦  了解了  感谢 大佬一个多线程的问题求助下老大
您需要登录后才可以回帖 登录 | 加入驿站 qq_login

本版积分规则

×【发帖 友情提示】
1、请回复有意义的内容,请勿恶意灌水;
2、纯数字、字母、表情等无意义的内容系统将自动删除;
3、若正常回复后帖子被自动删除,为系统误删的情况,请重新回复其他正常内容或等待管理员审核通过后会自动发布;
4、感谢您对VC驿站一如既往的支持,谢谢合作!

关闭

站长提醒上一条 /2 下一条

QQ|小黑屋|手机版|VC驿站 ( 辽ICP备09019393号 )|网站地图wx_jqr

GMT+8, 2020-7-3 21:09

Powered by CcTry.CoM

© 2009-2020 cctry.com

快速回复 返回顶部 返回列表