zoukankan      html  css  js  c++  java
  • 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;
                    }
                }
        
            }
        }
        
    }
  • 相关阅读:
    Python 入门 之 print带颜色输出
    memcache缓存
    PDO
    面向对象(二)
    面向对象(一)
    文件上传
    简单的权限管理
    当前时间与时期联动
    淡入淡出、滑动、及遍历
    留言板相关功能
  • 原文地址:https://www.cnblogs.com/starwolf/p/3220319.html
Copyright © 2011-2022 走看看