|
窗口程序集名 | 保 留 | 保 留 | 备 注 | 主窗口 | | | | 变量名 | 类 型 | 数组 | 备 注 | 连接池 | 整数型 | 10" ' 固定10个 | 临界 | 整数型 | | 任务队列 | 文本型 | 0" ' 存储 |
临界 = 创建进入许可证 ()初始化连接池 () 启动线程 (&任务分配器, , ) 计次循环首 (10, i ) 连接池 [i ] = 连接MySql (“localhost”, “root”, “123456”, “testdb”, 3306 ) 计次循环尾 ()变量名 | 类 型 | 静态 | 数组 | 备 注 | 总记录数 | 整数型 | | | 每批数量 | 整数型 | | | 起始位置 | 整数型 | | | SQL | 文本型 | | |
总记录数 = 取记录数 (“SELECT COUNT(*) FROM data_table”)每批数量 = 100 起始位置 = 0 循环判断首 () SQL = “SELECT id,field1,field2 FROM data_table LIMIT ” + 到文本 (起始位置 ) + “,” + 到文本 (每批数量 ) 进入许可区 (临界 ) 加入成员 (任务队列, SQL ) 退出许可区 (临界 ) 起始位置 = 起始位置 + 每批数量 循环判断尾 (起始位置 < 总记录数 ) 计次循环首 (取CPU核心数 () × 2, ) 启动线程 (&工作线程, , ) 计次循环尾 ()变量名 | 类 型 | 静态 | 数组 | 备 注 | SQL | 文本型 | | | 连接句柄 | 整数型 | | | 记录集 | 整数型 | | |
循环判断首 () 进入许可区 (临界 ) 如果真 (取数组成员数 (任务队列 ) > 0 )  SQL = 任务队列 [1 ] 删除成员 (任务队列, 1, 1 ) 退出许可区 (临界) 如果真 (SQL = “”) 程序_延时 (100 )  到循环尾 ()   连接句柄 = 取空闲连接 () 记录集 = 执行SQL语句 (连接句柄, SQL )  判断循环首 (读记录集 (记录集 ))   字段1 = 读字段文本值 (记录集, “field1”)  字段2 = 读字段文本值 (记录集, “field2”)  判断循环尾 () 释放记录集 (记录集 ) 释放连接 (连接句柄 )  SQL = “” 循环判断尾 (真) 循环判断首 () 进入许可区 (临界 ) 计次循环首 (10, i )  如果真 (连接池 [i ] ≠ 0 )  返回 (连接池 [i ])   连接池 [i ] = 0   计次循环尾 () 退出许可区 (临界 ) 程序_延时 (50 ) 循环判断尾 (真)进入许可区 (临界 ) 计次循环首 (10, i ) 如果真 (连接池 [i ] == 0 )  连接池 [i ] = 句柄  返回 () 计次循环尾 ()退出许可区 (临界 )
|
|