酷代码 AI
菜单
服务商

【启动线程】写多线程

下面用易语言编写一个多线程示例,借助 `启动线程` 函数启动多个线程同时运行。这里以多个线程分别计算不同数字的平方为例。 示例代码 ``` .版本 2 .支持库 EThread .程序集 窗口程序集_启动窗口 .子程序 _按钮1_被单击 .局部变量 线程句柄数组, 整数型, , "0" .局部变量 要计算的数字数组, 整数型, , "0" .局部变量 i, 整数型 ' 初始化要计算平方的数字数组 加入成员 (要计算的数字数组, 1) 加入成员 (要计算的数字数组, 2) 加入成员 (要计算的数字数组, 3) 加入成员 (要计算的数字数组, 4) 加入成员 (要计算的数字数组, 5) ' 启动多个线程 重复循环首 (取数组成员数 (要计算的数字数组), i) 加入成员 (线程句柄数组, 启动线程 (&计算平方, 要计算的数字数组 [i], )) 重复循环尾 () ' 等待所有线程执行完毕 .计次循环首 (取数组成员数 (线程句柄数组), i) 等待线程 (线程句柄数组 [i], -1) .计次循环尾 () 信息框 ("所有线程执行完毕", 0, ) .子程序 计算平方, , , 计算传入数字的平方 .参数 要计算的数字, 整数型 .局部变量 平方结果, 整数型 平方结果 = 要计算的数字 * 要计算的数字 调试输出 (到文本 (要计算的数字) + " 的平方是: " + 到文本 (平方结果)) ``` 代码解释 1. `_按钮1_被单击` 子程序: - 定义了两个数组,`线程句柄数组` 用于存放每个线程的句柄,`要计算的数字数组` 用于存放要计算平方的数字。 - 向 `要计算的数字数组` 中添加了 1 到 5 这几个数字。 - 利用 `重复循环首` 循环,针对 `要计算的数字数组` 里的每个数字,调用 `启动线程` 函数启动一个新线程,让其执行 `计算平方` 子程序,同时把当前数字作为参数传递给该子程序。 - 运用 `计次循环首` 循环,调用 `等待线程` 函数等待所有线程执行完毕。 - 最后弹出信息框提示所有线程执行完毕。 2. `计算平方` 子程序: - 接收一个整数型参数 `要计算的数字`。 - 计算该数字的平方,将结果存于 `平方结果` 变量中。 - 通过 `调试输出` 输出计算结果。 注意事项 - 线程安全:此示例里各线程独立计算,不存在共享资源。若涉及共享资源的访问与修改,要考虑线程安全问题,可使用互斥锁等同步机制。 - 线程同步:使用 `等待线程` 函数确保所有线程执行完毕后再继续后续操作,在实际应用中,可依据需求灵活调整线程同步方式。 [2025-11-28 03:26:20 | AI问答 | 765点数解答]

相关提问
发财导航,免费问AI
实用工具查看更多