栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

1.模拟QQ相册上传图片(上传指定文件夹下所有的图片) 多线程上传(每个图片开辟一个子线程)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

1.模拟QQ相册上传图片(上传指定文件夹下所有的图片) 多线程上传(每个图片开辟一个子线程)

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;

public class Qie {
    static class qie extends Thread {
            private void up() {
                System.out.println("开始上传图片");
                for (int i = 1; i <= 5; i++) {
                    System.out.println(i * 20 + "%");
                    try {
                        qie.sleep(1000);
                    } catch (InterruptedException e) {
                        e.printStackTrace();
                    }
                }
                System.out.println("完成上传图片");
            }

            private void upA() throws Exception {
                //创建文件对象
                File file = new File("E:\图片\");
                String str[] = file.list();
                for (int i = 0; i < str.length; i++) {
                    System.out.println(str[i]);
                    //读取此目标目录下的图片文件
                    FileInputStream inputStream = new FileInputStream("E:\图片\" + str[i]);
                    //将目标目录下的图片文件保存在此新目录下
                    FileOutputStream outputStream = new FileOutputStream("D:\休闲娱乐\壁纸\" + str[i]);
                    int a = 0;
                    while ((a = inputStream.read()) != -1) {
                        //调用outputStream.write()方法字节输出流写入
                        outputStream.write(a);
                    }

                    //关闭并释放输出流资源
                    outputStream.close();

                    //关闭并释放输入流资源
                    inputStream.close();
                }
            }
        }
        public static void main(String[] args) throws Exception {
            //创建对象
            qie qup = new qie();
            qie qup1 = new qie();
            qup.upA();
            qup.up();
            //启动qup,qup1
            qup.start();
            qup1.start();
        }
    }

2.火车卖票

package com.op;

public abstract class Doer01 {

    public static void main(String[] args) {
            //创建四个线程
            new Ticket().start();
            new Ticket().start();
            new Ticket().start();
            new Ticket().start();

        }

    }

    class Ticket extends Thread {
        private Integer ticketNum; //票号
        private String trainNum; //车次
        private String Origin; //始发地
        private String destination; //目的地

        public Ticket() {
        }

        //有参构造
        public Ticket(Integer ticketNum, String trainNum, String origin, String destination) {
            this.ticketNum = ticketNum;
            this.trainNum = trainNum;
            Origin = origin;
            this.destination = destination;
        }

        //get,set方法
        public Integer getTicketNum() {
            return ticketNum;
        }

        public void setTicketNum(Integer ticketNum) {
            this.ticketNum = ticketNum;
        }

        public String getTrainNum() {
            return trainNum;
        }

        public void setTrainNum(String trainNum) {
            this.trainNum = trainNum;
        }

        public String getOrigin() {
            return Origin;
        }

        public void setOrigin(String origin) {
            Origin = origin;
        }

        public String getDestination() {
            return destination;
        }

        public void setDestination(String destination) {
            this.destination = destination;
        }

        private static int tickets = 5;


        private static Object obj = new Object();
        public void run () {
            while(true){
                synchronized(obj) {
                    if(tickets <= 0){
                        break;
                    }
                    try {
                        Thread.sleep(20);
                    } catch (InterruptedException e) {
                        e.printStackTrace();
                    }
                    System.out.println(getName() + "...这是第" + tickets-- + "号票"+trainNum +"车次"+Origin+"始发地"+destination+"目的地" );
                }

            }
        }

    }







package com.op;

import java.util.List;

public class Ticketer extends Thread{
        private List tickets;//票库(多个售票员同一个票库)
        private String name;

        public List getTickets() {
            return tickets;
        }

        public void setTickets(List tickets) {
            this.tickets = tickets;
        }
        public void run(){
            System.out.println(this.getName() + "开始售票");
            for (int i = 1; i <= 10; i++) {
                System.out.println(this.getName() + "售出" +i);
            }
        }
    }

package com.op;

import java.util.ArrayList;
import java.util.List;

public class Test {
    public static void main(String[] args) {
        List tickets = new ArrayList<>();//票库
                for (int i = 1; i <= 20 ; i++) {
                    Ticket ticket = new Ticket(i,"G2027","福建","广州");
                    tickets.add(ticket);
                }

                Ticketer t1 = new Ticketer();
                t1.setName("小红");
                Ticketer t2 = new Ticketer();
                t2.setName("小丽");
                //给两个售票员设置同一个票库
                t1.setTickets(tickets);
                t2.setTickets(tickets);

                //开始子线程进行售票
                t1.start();
                t2.start();
            }
        }


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1024061.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号