• java多线程初探


    今天收获:

    1、java的多线程有两种创建方式:

    两种线程的创建方式:继承Thread 和 接口Runnerble----------------(记得放入while(true)的循环中,否则只能执行一次)
    2、坦克大战项目的多线程应用:
      a、将子弹做成一个线程;
      b、将panel画板也做成一个线程;
     要运用到多线程技术的项目中,如果该类参数会随时间经常变化,可以做成多线程定时执行
    3、多线程的互斥和同步
      
      
      a、注意事项:一个线程类只能启动一次,即一个对象(线程)只能启动一次start
        b、线程互斥问题(加对象锁)
    Demo如下:
    /*
     * 线程同步
     */
    package com.Thread;
    
    public class Demo10_5
    {
        
        public static void main(String[] args)
        {
            // TODO Auto-generated method stub
            //创建售票窗口
            TicketWindow tw1 = new TicketWindow();
            
            Thread t1 = new Thread(tw1);
            Thread t2 = new Thread(tw1);
            Thread t3 = new Thread(tw1);
            
            t1.start();
            t2.start();
            t3.start();
            
        }
        
    }
    
    //售票窗口
    class TicketWindow implements Runnable
    {
        int nums = 100;
        @Override
        public void run()
        {
            // TODO Auto-generated method stub
            while (true)
            {
                //加互斥锁,同步
                synchronized (this)
                {
                    if (nums > 0)
                    {         
                        try
                        {
                            Thread.sleep(100);
                        }
                        catch (Exception e)
                        {
                            // TODO: handle exception
                        }
                        //显示售票信息
                        System.out.println(Thread.currentThread().getName()+" 当前售出第 " + nums +" 张票");
                        //售票
                        nums--;
                    }
                    else 
                    {
                        //售票结束
                        break;
                    }
                }
        
            }
        }
        
    }
  • 相关阅读:
    让用户舒服起来 10个改善UI的技术
    Powerpoint快捷键大全
    自制Flash FLV视频播放器
    Firefox与IE在CSS样式表中的差异
    让你每天都充满积极性的五个方法
    asp.net 2实用技术汇总
    春季要健康 “排毒”三步走
    皮肤变好必遵守洗脸九法
    经典博客收集
    教你一招让网页用上漂亮的11PX中文字体
  • 原文地址:https://www.cnblogs.com/starwolf/p/3220319.html
Copyright © 2020-2023  润新知