-
Thread 常用方法查看全部
-
interrupt()方法停止线程的实质还是利用到了设置旗标的原理。。。 while(!this.isInterrupted())查看全部
-
java线程推荐书查看全部
-
扩展并发知识查看全部
-
线程查看全部
-
线程查看全部
-
线程Tread使用的方法查看全部
-
。。。。查看全部
-
进程持有资源和线程,查看全部
-
interrupt exception产生的原因查看全部
-
Java Memory Mode:JMM描述了Java线程如何通过内存进行交互 happens-before synchronized,volatile&final DeadLocks Locks&Condition Java锁机制和等待条件的高层实现 java.util.concurrent.locks 线程安全性:原子性与可见性 java.util.concurrent.atomic synchronized(锁的方法块)&volatile(定义公共资源) DeadLocks(死锁) 多线程编程常用的交互模型:Producer-Consumer模型,Read-Write Lock模型,Future模型,Worker Tread模型 Java5中并发编程工具:java.util.concurrent 线程池ExecutorService Callable&Future BlockingQueue 要点:查看全部
-
加锁 互斥的实现 Critical Section(临界资源)|Wait Set(等待区域) wait()方法是等待,将线程放入等待区域,释放枷锁 ---notifyAll()是唤醒所有等待(set)里的--notify()是随机唤醒一个Wait Set中的线程 syschronized(lockObj)设置枷锁----其它线程只有获得枷锁才可以执行查看全部
-
争用条件:多个线程同时访问同一数据(内存区域)时,每个线程都尝试操作该数据,导致数据被破坏 1:线程的特点,共享同一进程的资源,同一时刻只能有一个线程占用CPU<br> 2:由于线程有如上的特点,所以,就会存在多个线程争抢资源的现象,就会存在争用条件这种现象<br> 3:为了让线程能够正确的运行,不破坏共享的数据,所以,就产生了同步和互斥的两种线程运行的机制<br> 4:线程的互斥指:线程的运行隔离开来,互不影响,使用synchronized关键字实现互斥行为,此关键字即可以出现在方法体之上也可以出现在方法体内,以一种块的形式出现,在此代码块中有线程的等待和唤醒动作,用于支持线程的同步控制<br> 5:线程的同步指:线程的运行有相互的通信控制,运行完一个在正确的运行另一个 通过lockObject的wait方法(注意:wait的线程被存放在wait set 中)和notifyAll方法实现同步。 步骤: 1.互斥:同一时间,只能有一个线程访问数据 2.同步:通信机制;一个线程完成,以某种方式通知其他线程 3.锁的概念:private final Object lockObj = new Object(); 4.互斥实现方式:synchronized关键字 synchronized(lockObj){---执行代码----}加锁操作 lockObj.wait();线程等待状态,以避免线程持续申请锁,不去竞争cpu资源 lockObj.notifyAll();唤醒所有lockObj对象上等待的线程查看全部
-
volatile能保证线程可以正确的读取其他线程写入的值, 可见性 ref JMM,happens-before原则 Thread.yield()方法释放cpu查看全部
-
英雄人物的线程查看全部
举报
0/150
提交
取消