可以检查函数内的当前线程吗?
例如,如果某个非线程安全数据结构仅由一个线程更改,并且存在由多个线程调用的函数,则根据当前线程具有单独的代码路径将是有用的.如果当前线程是改变数据结构的线程,则可以直接在函数中更改数据结构.但是,如果当前线程是某个其他线程,则必须延迟实际更改,以便在执行操作安全时执行.
或者,最好使用一些布尔值作为函数的参数来分隔不同的代码路径?
或做一些完全不同的事情?
你怎么看?
你没有太多意义.您说过一个非线程安全的数据结构只能被一个线程更改,但在下一句话中,您将讨论延迟其他线程对该数据结构所做的任何更改.下定决心.
一般来说,我建议使用临界区或互斥锁包装对数据结构的访问.
| 归档时间: |
|
| 查看次数: |
401 次 |
| 最近记录: |