Java4Android学习十三 - 多线程

1、线程和进程

多进程(程序):操作系统中能(同时)运行多个任务(程序)。

多线程(程序执行流程):在同一个应用程序中有多个顺序流(同时)执行。

 

2、创建线程的方法

(1)定义一个线程类,它集成类Thread并重写run方法,方法run()称为线程体。启动线程时使用start方法。

由于Java只支持单继承,用这种方法定义的类不能再继承其他类。

// MyThread extends Thread
MyThread t = new MyThread();

(2)提供一个实现接口Runnable的类作为线程的目标对象,在初始化一个Thread类或者Thread子类的线程对象时,把目标对象传递给这个线程实例,由该目标对象提供线程体。

// RunnableImpl implements Runnable
RunnableImpl ri = new RunnableImpl();
Thread t = new Thread(ri);
t.start();


3、控制线程的常见函数

(1)中断线程:

 -- Thread.sleep():休眠之后转到就绪状态而不是运行状态;使用时必须捕获异常。

 -- Thread.yield():当前线程主动让出所使用的CPU,重新竞争。

(2)设置线程的优先级:

 -- getPriority():最大优先级是10,最小优先级为1;Thread中设置的最大优先级为Thread.MAX_PRIORITY,最小优先级为Thread.MIN_PRIORITY。

 -- setPriority():优先级越高的线程执行的概率越大。

 

4、多线程的数据安全

(1)使用实现接口Runnable的方法生成的同一个Thread对象,共用同一个线程体。

(2)每个线程都有名字,可以使用setName来设置名称

(3)代码段中的任意一句都可能切换。

 

5、同步线程的方法

(1)同步代码块

synchronized (this) { }

表示对this对象加锁。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值