处理并发的方案

1、在项目的数据方面可以使用缓存,比如项目中的使用频率高的可放在缓存中,具体放哪些数据可视项目的需求来决定。
2、尽可能多的使用静态页面缓存信息,减少客户端对服务器的请求。
3、优化复杂的业务逻辑结构代码。
4、复杂的SQL计算尽量在数据库中使用存储过程来代替。
5、调整应用容器和数据库的连接数。

public class PipedIO { //程序运行后将sendFile文件的内容拷贝到receiverFile文件中
    public static void main(String args[]){       
        try{//构造读写的管道流对象       
            PipedInputStream pis=new PipedInputStream();       
            PipedOutputStream pos=new PipedOutputStream();       
            //实现关联       
            pos.connect(pis);       
            //构造两个线程,并且启动。           
            new Sender(pos,"c:\\text2.txt").start();           
            new Receiver(pis,"c:\\text3.txt").start();         
        }catch(IOException e){       
            System.out.println("Pipe Error"+ e);       
        }       
    }       
}   
//线程发送       
class Sender extends Thread{           
    PipedOutputStream pos;       
    File file;       
    //构造方法       
    Sender(PipedOutputStream pos, String fileName){       
        this.pos=pos;       
        file=new File(fileName);       
    }          
    //线程运行方法       
    public void run(){          
        try{       
            //读文件内容       
            FileInputStream fs=new FileInputStream(file);       
            int data;       
            while((data=fs.read())!=-1){       
                //写入管道始端       
                pos.write(data);       
            }       
            pos.close();                        
        }       
        catch(IOException e) {       
            System.out.println("Sender Error" +e);       
        }       
    }       
}
      
//线程读       
class Receiver extends Thread{       
    PipedInputStream pis;       
    File file;       
    //构造方法       
    Receiver(PipedInputStream pis, String fileName){         
        this.pis=pis;       
        file=new File(fileName);       
    }          
    //线程运行       
    public void run(){          
        try {       
            //写文件流对象       
            FileOutputStream fs=new FileOutputStream(file);       
            int data;       
            //从管道末端读       
            while((data=pis.read())!=-1){
       
                //写入本地文件       
                fs.write(data);       
            }       
            pis.close();            
        }       
        catch(IOException e){       
            System.out.println("Receiver Error" +e);       
        }       
    }       
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值