Вам нужен только мьютекс для защиты объектов, к которым обращается более чем один поток, где хотя бы один из этих потоков изменяет объект.
Если размер вашей матрицы изменяется до любогопотоки обращаются к нему (например, до того, как потоки запущены), тогда вам нужен мьютекс, только если несколько потоков обращаются к одной и той же ячейке.Если ваши потоки обращаются к разным ячейкам, то при условии, что ни один из них не изменит размер матрицы, все будет в порядке.
Если один поток пишет в ячейку, а другой читает из одной и той же ячейки, то оба потока должны заблокировать один и тот же мьютекспрежде чем они получат доступ к этой камере.Если два потока записывают в одну и ту же ячейку, то снова оба потока должны заблокировать один и тот же мьютекс.Это может быть мьютекс, отличный от того, который используется для других ячеек, или тот же.
Если один поток изменяет структуру матрицы, в то время как любые другие потоки обращаются к матрице, то все вовлеченные потоки должны блокировать одинаковыемьютекс.Это может быть другой мьютекс для любых мьютексов, используемых для отдельных клеток, или тот же самый.