为什么创建线程总失败?

becgiggs 2010-02-03 02:32:28
好像跟访问共享变量有关。两个线程访问一个共享变量,就创建线程失败,没有,就能成功。
奇怪的是,这个共享变量跟线程函数啥关系都没有啊。
另外,是线程里创建的线程
...全文
471 16 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
nodiebirdcomeback 2010-02-05
  • 打赏
  • 举报
回复
没代码没真相,通常情况下线程跟共享变量没关系的,
线程可以操作共享变量,所以要注意资源的保护。
至于程创建失败的原因只能是由于操作系统造成的,
一般情况下不会出现这种情况。我怀疑你是否把
线程的处于停止状态,而不出现你想要的结果,
你误认为是线程没创建。线程在执行到临界代码段
或者WaitXXX函数处会根据你的设计及代码运行环境
会出现线程挂其的状态。
ls2141 2010-02-04
  • 打赏
  • 举报
回复
版主真的很尽职啊
lzl_2008 2010-02-03
  • 打赏
  • 举报
回复
n年前遇过类似错误,好像是在线程函数中有很大的数组造成的,如char a[100000];
dd_zhouqian 2010-02-03
  • 打赏
  • 举报
回复
贴代码
hallowwar 2010-02-03
  • 打赏
  • 举报
回复
是啊,贴个代码让大家观摩下。
stjay 2010-02-03
  • 打赏
  • 举报
回复
无代码无真相

LZ要么继续自言自语
becgiggs 2010-02-03
  • 打赏
  • 举报
回复
那为啥加了个访问共享变量就内存不足了。。。奇怪啊。那个变量,我访问不访问的,都在那里啊。
快乐鹦鹉 2010-02-03
  • 打赏
  • 举报
回复
ERROR_NOT_ENOUGH_MEMORY 内存不足
becgiggs 2010-02-03
  • 打赏
  • 举报
回复
getlasterror返回值是8.这是啥错
becgiggs 2010-02-03
  • 打赏
  • 举报
回复
getlasterror返回值是8
oldmanzhao 2010-02-03
  • 打赏
  • 举报
回复
创建的时候应该还没读取这两个变量吧。
cdm2179 2010-02-03
  • 打赏
  • 举报
回复
创建线程函数失败和共享变量没关系
songsu 2010-02-03
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 happyparrot 的回复:]
失败总有错误信息的。GetLastError等方法查看错误的报告信息
[/Quote]

正解。
快乐鹦鹉 2010-02-03
  • 打赏
  • 举报
回复
失败总有错误信息的。GetLastError等方法查看错误的报告信息
marrco2005 2010-02-03
  • 打赏
  • 举报
回复
无代码无真相
老吴笔记 2010-02-03
  • 打赏
  • 举报
回复
无代码无真相

15,467

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧