多线程

来源:互联网 发布:sqlserver怎么用 编辑:程序博客网 时间:2024/05/27 20:51

多线程

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){                                        //需要同步的代码                                 }
原创粉丝点击