多线程11

来源:互联网 发布:红警2 mac 10.13 编辑:程序博客网 时间:2024/05/16 11:08

在多个线程的run的代码块中调用同一个变量,可能会造成线程不安全。这是因为多个线程调用同一个变量可能会出现因为线程对资源的竞争而导致死锁的问题。可以对变量加锁,一般用Synchronize这个关键词,你可以搜一搜。另外如果说是多线程调取一个容器的话,也要看这个容器本身才能确定线程安不安全,如果你选择的容器是线程不安全的,比如ArrayList,HashMap,对应的线程安全的容器也有Vector,HashTable,相应的,线程安全的容器效率会差一点,特别是Vector,效率特别差,如果要选择线程安全的容器,可以看下ConcurrentHashMap和ConcurrentLinkedQueue






0 0