网络安全

位置:IT落伍者 >> 网络安全 >> 浏览文章

Java的线程安全四种方式五个等级[2]


发布日期:2019年11月04日
 
Java的线程安全四种方式五个等级[2]

immutable 不可变对象

threadsafe 线程安全的可以放心使用如javautilTimer

conditionally threadsafe 条件线程安全的如Vector和Hashtable一般是安全的除非存在几个方法调用之间的顺序不能被打断这时可以用额外的锁来完成

threadcompatible 可以使用synchronized (objectReference)来协助完成对线程的调用

threadhostile 不安全的

wait & notifyAll

在循环中使用wait 使用notifyAll而不是notify

pipe

java中也有pipe的四个类PipedInputStream PipedInputReader PipedOutputStream PipedOutputWriter 下面是一段生产者消费者的代码(摘自core javaII)

/* set up pipes */

PipedOutputStream pout = new PipedOutputStream();

PipedInputStream pin = new PipedInputStream(pout);

PipedOutputStream pout = new PipedOutputStream();

PipedInputStream pin = new PipedInputStream(pout);

/* construct threads */

Producer prod = new Producer(pout);

Filter filt = new Filter(pin pout);

Consumer cons = new Consumer(pin);

/* start threads */

prodstart();

filtstart();

consstart();

[] []

               

上一篇:编写高效的线程安全类

下一篇:Java的线程安全四种方式五个等级[1]