BackgroundWorker 在上一行代码之前运行
本文关键字:代码 一行 运行 BackgroundWorker | 更新日期: 2023-09-27 17:57:06
我有一个BackgroundWorker 它包括对IsolatedStorage的读/写。就在工作线程运行之前,我从隔离存储中读取。我是否需要担心使用互斥锁,或者工作线程仅在读取完成后启动?
//read from IsolatedStorage here
bgw.RunWorkerAsync(); //includes read/writes to IsolatedStorage
您必须考虑以下几点:
- 如果
bgw.RunWorkerAsync();
之前的代码是同步运行的, - 如果隔离存储操作也作为同步执行,
- 如果
bgw
将仅是使用隔离存储的任务/线程/进程(检查所有事件、方法、构造函数... - 还有隔离存储设置,其他方法,例如。保存Jpg, - 如果您处置了 ISF 和所有隔离的存储流
那么就不会有问题,你可以在没有互斥的情况下做到这一点。但是 IMO 使用一个会更安全/更好 - 在答案中你有一个很好的模式。