小弟在项目中用到了图片服务器,用的是java的imageIO,平时上传没问题,但进行压力测试时(多个客户端同时上传图片),发现上传的图片变花了(模糊得难以辨认),不知哪位高手有这方面的经验,告诉我原因或是告诉我第三方的图片处理类库!还望高手们不吝赐教,先行谢过!
------解决方案--------------------
JAI(Java Advanced Imaging API)图片处理能力就已经非常强大了
------解决方案--------------------
http://blog.sina.com.cn/s/blog_57c30bbb010005gq.html
看看这个吧
------解决方案--------------------
JAI就是多处理一些格式的图片,比如TIF的 但是如果和并行挂上钩的话 应该不是iamgeio的问题 同步问题造成的图片变花吧。不要接到一张处理一张 做一个队列 挨个处理。
------解决方案--------------------
------解决方案--------------------
如果因为并发导致图片处理的时候出现错乱的话 有两种解决方案。
1.编写图片处理类 此类用synchronized 加锁(只是同步处理图片的方法即可),保证图片一张张处理
2.全局静态函数接收客户端接收的图片,保存后将图片的服务器路径放入全局的list中,这个list的入队和出队方法最好也同步,要处理的图片只处理list队列里的图片,知道list为空。每次上传触发图片处理函数去取队列中的未处理图片。
example:
class Opimg{
public synchronized static void createImage(String filename or InputStream in){
}
}