BackgroundWorker 在上一行代码之前运行

本文关键字:代码 一行 运行 BackgroundWorker | 更新日期: 2023-09-27 17:57:06

我有一个BackgroundWorker 它包括对IsolatedStorage的读/写。就在工作线程运行之前,我从隔离存储中读取。我是否需要担心使用互斥锁,或者工作线程仅在读取完成后启动?

//read from IsolatedStorage here
bgw.RunWorkerAsync();  //includes read/writes to IsolatedStorage

BackgroundWorker 在上一行代码之前运行

您必须考虑以下几点:

  • 如果 bgw.RunWorkerAsync(); 之前的代码是同步运行的,
  • 如果隔离存储操作也作为同步执行,
  • 如果bgw将仅是使用隔离存储的任务/线程/进程(检查所有事件、方法、构造函数... - 还有隔离存储设置,其他方法,例如。保存Jpg,
  • 如果您处置了 ISF 和所有隔离的存储流

那么就不会有问题,你可以在没有互斥的情况下做到这一点。但是 IMO 使用一个会更安全/更好 - 在答案中你有一个很好的模式。