线程

目标
    进一步了解线程
    掌握如何编写线程代码
    掌握线程的状态以及状态之间的转换(线程常用方法)
    线程使用代码
    
1、进一步了解线程
    到镇上找一个饭店:湘菜馆、川菜馆、豫菜馆、土家菜馆、、、、、
    
    把每个饭馆中吃饭的过程看做一个进程完成的整个操作。
    
    把进入一个川菜馆吃饭的进程,拆分成多个线程:
    (1)找位置(资源)
    (2)点菜
    (3)上菜
    (4)吃饭
    (5)结账
    
    顾客、服务员、厨师、收银员
    顾客(88)         独立的线程对象
    服务员(10)       线程调度程序(操作系统、Java虚拟机)
    厨师(5)          Java虚拟机
    收银员(1)
    
    
    线程:
    (1)轻量级的进程;
    (2)线程可以通过Java 编程,人为控制

2、掌握如何编写线程代码
   (1)继承 Thread 类,重写 run(){} 方法
   (2)实现 Runnable 接口,实现 run(){} 方法
   (3)启动线程,必须通过线程对象,调用 t.start() 方法
该方法会自动调用 run(){} 方法中的代码来运行。   

   线程控制方法:
   t.isAlive()      线程是否处于活动状态
   t.getPriority()  得到当前线程的优先级
   t.setPriority()  设置当前线程的优先级
      static int MAX_PRIORITY    10
          线程可以具有的最高优先级。
      static int MIN_PRIORITY    1
          线程可以具有的最低优先级。
      static int NORM_PRIORITY   5
          分配给线程的默认优先级。

   
   Thread.currentThread()  得到当前正在使用 CPU 的线程
   getName()         得到线程的名称
   Thread.currentThread().getName()
   t.sleep(long 毫秒)  使当前正在使用 CPU 的线程睡眠一段时间
    t.wait()         使当前正在使用 CPU 的线程等待
   t.join()          使当前正在使用 CPU 的线程等待,等合并的
                     线程执行完毕,再执行当前线程
   t.yield()         使当前正在使用 CPU 的线程让出 CPU
   t.notify()        当前线程使用 CPU 完毕,通知下一个等待中的线程  
   t.notifyAll()     当前线程使用 CPU 完毕,通知所有等待中的线程
   t.interrupt()     中断线程。
   
 
3、掌握线程的状态以及状态之间的转换(线程常用方法)
    同步状态
    一个银行账户:有卡、有存折,如果有余额 1000 块,
两个人同时使用卡、存折在两个地方取钱。

    当一边在操作的时候,需要把账户信息加锁,只为一边
服务。

4、线程使用代码   
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值