Java的多线程机制

102148_qYah_3299202.png

线程的基本概念

   程序的概念: 程序就是一个严格有序的指令集合,它本身没有任何运行的含义,它只是一个静态的实体。

    进程的概念: 指的是程序在某个数据集上的执行。 进程是一个动态的实体,它有着自己的生命周期,它因创建而产生,因调度而运行,因等待资源或者事件而被处于等待状态,因完成任务而被撤销。 

    线程的概念: 线程就是一个程序里边不同的执行路径

105415_G97B_3299202.png

 

线程的创建和启动

105650_9bs6_3299202.png

105901_Z7RP_3299202.png

105950_NVd2_3299202.png

110223_37Zj_3299202.png

110414_iIDx_3299202.png

110432_BJrd_3299202.png

110630_lA3i_3299202.png

创建进程时,能使用Runnable接口创建,就不要使用从Thread类继承的方法来创建。

线程的调度和优先级

       线程的基本方法:

              Thread.setName(String name)    设置当前线程的名字

              Thread.currentThread()      返回对当前正在执行的线程对象的引用。

              Thread.getName()      返回当前线程的名字。

         线程控制的基本方法:

111506_LteP_3299202.png

                线程的优先级:  

                      线程的优先级是用数字来表示,范围从1到10.。

                      主线程的缺省(默认)优先级是5,子线程的优先级默认与其父线程相同。

112031_wOm6_3299202.png

                线程的休眠:

113923_Xnui_3299202.png

114047_JoAc_3299202.png

        重写的run方法不能抛出异常, 因为重写方法抛出异常的范围不能大于被重写方法抛出的异常范围。

114414_B5Kx_3299202.png

yield方法  是线程的让步。  让出CPU,给其他线程执行机会。   让运行中的线程主动放弃当前获得的CPU处理机会,但不是使该线程阻塞,而是使之转入就绪状态。

join方法    是线程的串行化。  如果在一个线程运行的过程中要用到另一个线程的运行结果,则可进行线程的串行化处理。 (就是暂停当前正在执行 t.join() 的线程,直到 t 所对应的线程运行终止之后,当前线程才会获得继续执行的机会)

  public  static void join()  throws  InterruptedException

 

          线程的挂起和恢复:

115625_ggfC_3299202.png

线程的同步问题

             103553_oAXV_3299202.png

Synchronized 关键字

   Synchronized 可以用来修饰   一个方法    或者    一个方法内部的某个代码块。

      如果两个方法都改了同一个值,那么两个方法都应该加synchronized,   或者哪个方法修改了值,那个方法就应该加  synchronized(同步)。

104303_u1DU_3299202.png

104405_ZEJc_3299202.png

104435_Maip_3299202.png

104453_K8lr_3299202.png

104523_0cdv_3299202.png

104636_t1Nh_3299202.png

104707_SSk8_3299202.png

 

转载于:https://my.oschina.net/u/3299202/blog/1488853

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值