多线程安全注意事项

多线程安全是指多个线程同时访问或修改共享资源时,能够保证程序的正确性和可靠性。

开发者选择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