java 线程

最早的并发,是不断的创建新的进程,导致服务器吃不消,所以采用了轻量级的线程来处理并发问题(共享资源、可重用线程池)

使用线程时很可能会破坏另一个线程使用的变量或数据结构,所以每个线程只有在确保资源不会改变或具有独占访问权的时候,才可以使用某个资源

一:两种实现方式:

1:继承Thread类

      run方法完成后,线程也会跟着消失。

      run方法固定,不可向其传递参数,也获得不了返回值,因此可以通过构造方法来传递参数。

     只可覆盖run方法,线程的其他标准方法不可覆盖(start、sleep、stop、interrupt、join)。

2:实现Runnable接口

     可将线程的任务放在其他类的子类当中

    启动任务的线程时,需要将runnable对象传给Thread的构造函数

二:经典问题:两种方式的异同

三:获取线程中的变量值

1:回调

      线程中声明此变量的get方法, 并在run方法接近结束的时候调用主程序的方法,告知此线程即将结束(也可以用join方法实现)

     a:主程序使用静态方法,线程run方法用类名调用即可

     b:线程构造方法接收主程序对象,利用此对象调用主程序的接收方法

例子:swing中的很多控件需要关注事件中的信息,因此这些控件就会加到特定的列表中(监听器列表),并必须实现回调方法(ActionPerform等)

2:同步

   

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值