美文网首页
Java多线程

Java多线程

作者: 方研梅 | 来源:发表于2017-11-14 16:36 被阅读0次

    进程是程序(任务)的执行过程(具有动态性,必须在动态执行时才能被称为进程,对于静态存储的程序不能说是进程);

    进程特点:持有资源(共享内存,共享文件)和线程;故而进程是资源和线程的载体


    线程是系统中最小的执行单元,同一进程中有多个线程,线程共享进程的资源;

    要点:

    1、Java对线程的支持

    thread类,rannable接口

    2、线程的创建和启动

    3、线程常用的方法

    4、如何正确停止线程

    如何正确地停止Java中的线程

    已经不再使用stop()方法来停止线程;因为该方法会导致线程戛然而止,不知道线程完成了什么,不知道那些工作还没有做,无法进行一些清理工作;

    应该使用退出标志当线程退出标志显示线程要退出时,会为程序执行后续的应该完成的操作,使得一个完成的业务步骤能够完整地执行完毕;在执行完整的业务步骤之后可以有足够的时间进行代码清理工作;从而保证了代码的安全性;

    其中,interrupt方法不能用来停止线程,该方法的初衷仅仅是中断程序,而不是停止程序;

    ~~线程之间的争用

    ~~线程的交互——互斥与同步

    <1>线程互斥:在同一时间只能有一条线程对关键数据或者临界区进行操作;

    <2>线程同步:线程之间的一种通信机制;某一个线程做了一件事,它会以某种形式告知其他的线程它已做完这件事;

    互斥的实现:增加一个锁对象;synchronized(intrinsic lock)关键字或者代码块;

    同步的实现:wait()/notify()/notifyAll(),这三个方法均为object对象的成员函数,而不是线程thread对象的函数;调用wait()方法的线程和调用notifyAll()方法的线程不是同一个线程的同一次操作中执行的,是两个不同的线程,分别调用;

    如何理解同步:WaitSet(可理解为线程休息室)

    总结:

    相关文章

      网友评论

          本文标题:Java多线程

          本文链接:https://www.haomeiwen.com/subject/efdfvxtx.html