多线程
java
学习
先上一段写过的代码
/** * 类中类 内部类 * * 将控制台打印语句的操作放置到线程中去 * * 使用线程前数据上传响应时间:27600ms * 使用线程后数据上传响应时间:30360ms * * @author 1101399 * @CreateDate 2018-6-7 下午3:48:52 */ private class TestThread implements Runnable{ private int n; private byte[] b; public void setN(int n){ this.n = n; } public void setB(byte[] b){ this.b = b; } // public synchronized void run(){ @Override public void run() { // TODO Auto-generated method stub System.out.println(new String(b, 0, n)); System.out.println(); } } /** * 将耗时的数据库插入操作放入线程中去大大的加快界面的响应速度 * 开启线程操作本身也会具有一定的时间响应消耗:所以需要进行响应的权衡 * 这么理解略显偏颇(理解有问题) * * 使用线程前数据上传响应时间:27600ms * 使用线程后数据上传响应时间:18230ms * * @author 1101399 * @CreateDate 2018-6-7 下午4:14:01 */ private class TestTwoThread implements Runnable{ private TXTFile file; public void setFile(TXTFile file){// 通过该函数实现参数的传递 this.file = file; } @Override public void run() { // TODO Auto-generated method stub txtFileService.insert(file); } }
线程使用
testTwoThread.setFile(file);
new Thread(testTwoThread).start();
在多线程编程中由于线程的创建等操作本身要用到IO操作或者处理耗时等等情况,如果简单的线性执行不建议使用线程,更多的是需要大量时间的操作建议均衡到线程上面进行操作