java 多线程编程-学习

多线程
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操作或者处理耗时等等情况,如果简单的线性执行不建议使用线程,更多的是需要大量时间的操作建议均衡到线程上面进行操作

猜你喜欢

转载自www.cnblogs.com/supperlhg/p/9151583.html