多线程

多线程

1.进程:程序的一次动态执行过程,它对应了从代码加载、执行至执行完毕的一个完整过程

2.进程的特点: 1)进程是系统运行程序的基本单位

              2)每一个进程都有自己独立的一块内存空间、一组系统资源

              3)每一个进程的内部数据和状态都是完全独立的

3.线程:进程中执行运算的最小单位

4.多线程的好处:1)充分利用CPU的资源

                2)简化编程模型

                3)带来更好的用户体验

5.Thread类常用方法

    Thread()                                分配新的Thread对象

    Thread(Runnable target)                 分配新的Thread对象,target为run()方法被调用的对象

    Thread(Runnable target,String name)     分配新的Thread对象,target为run()方法被调用的对象,name为新线程的名称

    void run()                              执行任务操作的方法

    void start()                            使该线程开始执行,Java虚拟机调用该线程的run()方法   

    void sleep(long millis)                 在指定的毫秒数内让当前正在执行的线程休眠(暂停执行)

    String getName()                        返回线程名称

    int getPriority()                       返回线程的优先级

    void setPriority(int newPriority)       更改线程的优先级

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

    boolean isAlive()                       测试线程是否处于活动状态

    void join()                             等待该线程终止

    void interrupt()                        中断线程

    void yield                              暂停当前正在执行的线程对象,并执行其他线程

6.主线程:在Java程序启动时,一个线程立刻运行

7.主线程的重要性:1)它是产生其他子线程的线程

                  2)通常它必须最后执行完成,因为它执行各种关闭动作

8.创建主线程的方式:1)继承Thread类并重写Thread类的run()方法创建线程

                    2)实现Runnable接口创建线程

9.线程的状态:1)创建状态

              2)就绪状态

              3)运行状态

              4)阻塞状态

              5)死亡状态

10.程序优先级:通过getPriority()方法获取,setPriority(int grade)方法更改

               用1-10表示,1表示优先级最低,10表示优先级最好,默认值是5           

11.线程的休眠:使用Thread.sleep()方法实现线程的休眠

               public ststic void sleep(long millis)

12.线程的强制:join()方法使当前线程暂停执行

               调用join()方法需要处理InterruptedException异常

13.线程的礼让:yield()方法可暂停当前线程执行

               public static void yield()

14.线程同步:当两个或多个县城需要访问同一资源时,需要以某种顺序来确保该资源某一时刻只能被一个线程使用

15.线程同步执行方式:1)同步方式:使用synchronize修饰的方法控制对类成员变量的访问

                                 访问修饰符 synchronize 返回类型 方法名(参数列表){//省略方法体......}

                                 synchronize 访问修饰符 返回类型 方法名(参数列表){//省略方法体......}

                     2)同步代码块:代码块即使用{}括起来的一段代码,使用synchronize关键字修饰的代码块

                                 synchronize(syncObject){

                                        //需要同步的代码

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值