Можно сделать это таким образом, но вы жертвуете живостью , поскольку связанный список теперь может быть затронут только одним потоком за раз - это может привести к тому, что список станет узким местом в вашей программе .
Подумайте об интерфейсе связанного списка (какие методы могут быть вызваны потоками) и о том, как вы можете сохранить список в безопасности, но также разрешите использовать его как можно большему количеству потоков.
Например, если вы используете список в качестве очереди, один поток может ставить элементы в конец списка, а другой поток удаляет элемент из очереди.
Существует множество проблем при создании поточно-ориентированных утилит, но вы должны постараться сделать все возможное, чтобы убедиться, что вы не жертвуете производительностью, которую вы пытаетесь получить, сначала распараллеливая свое программное обеспечение! Веселись!