|
直接上源码吧,多线程启动以后会卡死,线程控制部分是参照小磊的教程里面的代码,找了好久都找不到原因,我在想是不是多线程链接mysql的问题
‘//////////////////////////////////////////////////////////
.版本 2
.支持库 iext
InitializeCriticalSection (许可证1)
.如果真 (到数值 (编辑框13.内容) > 超级列表框1.取表项数 ())
编辑框13.内容 = 到文本 (超级列表框1.取表项数 ())
.如果真结束
线程控制 = 到数值 (编辑框13.内容)
重定义数组 (采集线程句柄, 假, 超级列表框1.取表项数 ())
.计次循环首 (超级列表框1.取表项数 (), 采集运行指针)
.如果真 (文章线程数 = 线程控制)
.计次循环首 (取数组成员数 (采集线程句柄), i)
.如果真 (采集线程句柄 [i] ≠ 0)
WaitForSingleObject (采集线程句柄 [i], 30000)
TerminateThread (采集线程句柄 [i], 0)
CloseHandle (采集线程句柄 [i])
.如果真结束
.计次循环尾 ()
文章线程数 = 0
.如果真结束
采集线程句柄 [采集运行指针] = CreateThread (0, 0, &文章采集, 采集运行指针, 0, 0)
文章线程数 = 文章线程数 + 1
.计次循环尾 ()
DeleteCriticalSection (许可证1)
////////////////////////////////////////////////////////////////////////////
.版本 2
.支持库 internet
.支持库 iext
.支持库 spec
.支持库 mysql
数据库 = 组合框1.取项目文本 (组合框1.现行选中项)
数据表 = 组合框2.取项目文本 (组合框2.现行选中项)
EnterCriticalSection (许可证1)
获取内容 = 获取正文 (HTTP读文件 (超级列表框1.取标题 (1, x)))
调试输出 (超级列表框1.取标题 (1, x))
调试输出 (获取内容.标题 + 获取内容.内容)
.判断开始 (文本_取文本长度 (获取内容.内容) ≥ 到数值 (编辑框12.内容)) ' 判断文章长度
mysql句柄 = 连接MySql (编辑框5.内容, 编辑框6.内容, 编辑框7.内容, 数据库, 到数值 (编辑框8.内容))
.如果 (mysql句柄 ≠ 0)
信息框 (“连接到数据库,数据要入库啦”, 0, )
.如果真 (增加记录 (mysql句柄, 数据表, “title='” + 获取内容.标题 + “',” + “content='” + 获取内容.内容 + “'”))
文章数量 = 文章数量 + 1
标签15.标题 = 到文本 (文章数量)
断开MySql (mysql句柄)
.如果真结束
.否则
信息框 (“数据库连接不上了!”, 0, )
.如果结束
.默认
.判断结束
文章线程数 = 文章线程数 - 1
LeaveCriticalSection (许可证1)
/////////////////////////////////////////////////////////////////////////////
|
求助知识:请将问题描述清楚,最好把你有问题的源码打包上传上来,这样更方便大家帮助你。 友情提醒:本版被采纳的主题可在 申请荣誉值 帖子申请荣誉值,获得 3点 荣誉值,荣誉值可兑换荣誉会员、终身vip用户组。
|