socket 请求 send() 方法文档里说是耗时操作, 要在taskpool 或者worker线程中执行. ArkTs的主线程和子线程是内存隔离的, 在主线程创建的socket对象能传到子线程中吗? 还是必须在子线程中创建socket对象发送请求? 如果放在子线程中创建socket对象, socket是定义成长连接, 因为会有定时发送请求, taskpool中可能创建多个子线程,维护多个socket链接去请求.这样是合理的吗?
socket 请求 send() 方法文档里说是耗时操作, 要在taskpool 或者worker线程中执行. ArkTs的主线程和子线程是内存隔离的, 在主线程创建的socket对象能传到子线程中吗? 还是必须在子线程中创建socket对象发送请求? 如果放在子线程中创建socket对象, socket是定义成长连接, 因为会有定时发送请求, taskpool中可能创建多个子线程,维护多个socket链接去请求.这样是合理的吗?
1 回答1.1k 阅读✓ 已解决
1 回答1.1k 阅读
1 回答970 阅读
1 回答943 阅读
1 回答850 阅读
817 阅读
701 阅读
口味老师你好,在 ArkTS 中,主线程创建的 socket 对象可以通过适当的方式传递到子线程中使用,你可以使用共享的数据结构或者参数传递的方式来实现。不一定必须在子线程中创建 socket 对象发送请求。如果在子线程中创建 socket 对象并维护多个长连接去请求,这种方式是可行的,但需要注意资源管理和线程安全问题。确保正确地处理连接的建立、关闭和错误处理,以避免资源泄漏和不稳定的行为。