码迷,mamicode.com
首页 > 编程语言 > 详细

多线程编程

时间:2016-03-12 21:21:28      阅读:156      评论:0      收藏:0      [点我收藏+]

标签:

多线程编程
1、线程的创建与启动:
    (1)创建
       A、class MyThread extends Thread {
               public void run(){
           System.out.println("创建方法一");
        }
      }
       B、class MyTask implements Runnable{
            public void run(){
            System.out.println("创建方法二");
        }    
    }
    (2)启动:
      public static void main(String[] args) {
        // TODO Auto-generated method stub
        MyThread my = new MyThread(4);
        my.start();
        MyTask my1 = new MyTask(3);
        Thread t = new Thread(my1);
        t.start();

    }
注意:对于上面的代码的my.start();与t.start();是启动线程,虽然改为my.run();也可以实现,但这是调用而不是启动线程。


2、线程状态:
   (1)状态图---笔记本知识点116
   (2)    线程的优先级
       1- MIN_PRIORITY

     10-MAX_PRIORITY

     5-NORM_PRIORITY

     如果什么都没有设置,默认值是5。

  注意:不能依靠线程的优先级来决定线程的执行顺序。
  (3)有关优先级的方法:
     public final void setPriority(int newPriority)//更改线程的优先级。
     public final int getPriority()//返回线程的优先级。


3、线程同步
     (1)使用关键字synchronized(可选修饰符)
     (2)使用情况:
         有时两个或两个以上的线程可能要同时访问同一资源时(例:对一张银行卡刷卡与汇款同时进行)
      (3)实现同步的办法:
          A、同步方法:
             在方法名以前的位置加上关键字synchronized;
          B、同步块:
             如静态初始块一般,只是将“static”换成“synchronized”。
4、线程间的通信:
    wait-notify机制
    对于wait()、notify()、notifyAll(),这三个方法都只能在synchronized修饰的方法中被调用。

多线程编程

标签:

原文地址:http://www.cnblogs.com/wskaiit/p/5269982.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!