未验证 提交 189c7406 编写于 作者: O openharmony_ci 提交者: Gitee

!22517 Add the attention of thread safe.

Merge pull request !22517 from yuqing_han/master
......@@ -76,7 +76,7 @@ TaskPool支持开发者在主线程封装任务抛给任务队列,系统选择
- ArrayBuffer参数在TaskPool中默认转移,需要设置转移列表的话可通过接口[setTransferList()](../reference/apis/js-apis-taskpool.md#settransferlist10)设置。
- 由于不同线程中上下文对象是不同的,因此TaskPool工作线程只能使用线程安全的库,例如UI相关的非线程安全库不能使用。
- 由于不同线程中上下文对象是不同的,因此TaskPool工作线程只能使用线程安全的库,例如UI相关的非线程安全库不能使用,具体请见[多线程安全注意事项](#多线程安全注意事项)
- 序列化传输的数据量大小限制为16MB。
......@@ -91,7 +91,7 @@ TaskPool支持开发者在主线程封装任务抛给任务队列,系统选择
- 创建Worker不支持使用其他Module的Worker.ts文件,即不支持跨模块调用Worker。
- 由于不同线程中上下文对象是不同的,因此Worker线程只能使用线程安全的库,例如UI相关的非线程安全库不能使用。
- 由于不同线程中上下文对象是不同的,因此Worker线程只能使用线程安全的库,例如UI相关的非线程安全库不能使用,具体请见[多线程安全注意事项](#多线程安全注意事项)
- 序列化传输的数据量大小限制为16MB。
......@@ -165,3 +165,63 @@ const worker2 = new worker.ThreadWorker('../workers/worker.js');
- Worker存在数量限制,支持最多同时存在8个Worker。
- 在API version 8及之前的版本,当Worker数量超出限制时,会抛出“Too many workers, the number of workers exceeds the maximum.”错误。
- 从API version 9开始,当Worker数量超出限制时,会抛出“Worker initialization failure, the number of workers exceeds the maximum.”错误。
## 多线程安全注意事项
多线程安全是指多个线程同时访问或修改共享资源时,能够保证程序的正确性和可靠性。
开发者选择TaskPool或Worker进行多线程开发时,在TaskPool和Worker的工作线程中导入的API和模块需要支持多线程安全,否则可能会导致多线程数据竞争问题,造成应用程序异常或崩溃。
在TaskPool或Worker的工作线程中支持使用以下模块,其他模块在使用时需要验证是否满足线程安全。
- console
- setInterval
- setTimeout
- clearInterval
- clearTimeout
- @ohos.buffer
- @ohos.convertxml
- @ohos.file
- @ohos.file.backup
- @ohos.file.cloudSync
- @ohos.file.cloudSyncManager
- @ohos.file.environment
- @ohos.file.fileAccess
- @ohos.file.fileExtensionInfo
- @ohos.file.fileuri
- @ohos.file.fs
- @ohos.file.hash
- @ohos.file.photoAccessHelper
- @ohos.file.picker
- @ohos.file.securityLabel
- @ohos.file.statvfs
- @ohos.file.storageStatistics
- @ohos.file.volumeManager
- @ohos.fileio
- @ohos.hilog
- @ohos.multimedia
- @ohos.multimedia.image
- @ohos.net
- @ohos.net.http
- @ohos.pasteboard
- @ohos.systemDateTime
- @ohos.systemTimer
- @ohos.taskpool
- @ohos.uri
- @ohos.url
- @ohos.util
- @ohos.util.ArrayList
- @ohos.util.Deque
- @ohos.util.HashMap
- @ohos.util.HashSet
- @ohos.util.LightWeightMap
- @ohos.util.LightWeightSet
- @ohos.util.LinkedList
- @ohos.util.List
- @ohos.util.PlainArray
- @ohos.util.Queue
- @ohos.util.Stack
- @ohos.util.TreeMap
- @ohos.util.TreeSet
- @ohos.util
- @ohos.worker
- @ohos.xml
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册