>(线程A读取书籍并显示其数据)>(线程B在线程A使用数据时删除同一本书)>(线程A现在想要向本书添加一些信息)
因此,您必须使代码具有线程安全性,以便在任何时候只有一个线程可以对书籍列表具有写入权限.
SpyrosP提到的死锁发生在线程A阻塞List进行写入并等待线程B在列表上添加数据时.因为两个线程都会等待彼此做某些他们无法做的事情.只有在未正确实现线程安全机制时才会发生这种情况.