
多线程
a2274335673
这个作者很懒,什么都没留下…
展开
-
生产者消费者问题的java实现
生产者消费者问题是研究多线程程序时绕不开的经典问题之一,它描述是有一块缓冲区作为仓库,生产者可以将产品放入仓库,消费者则可以从仓库中取走产品。解决生产者/消费者问题的方法可分为两类:(1)采用某种机制保护生产者和消费者之间的同步;(2)在生产者和消费者之间建立一个管道。同步问题核心在于:如何保证同一资源被多个线程并发访问时的完整性。常用的同步方法是采用信号或加锁机制,保证资源在任意转载 2016-08-04 14:09:54 · 261 阅读 · 0 评论 -
多线程 Thread 和runnable区别
Java中Runnable和Thread的区别在java中可有两种方式实现多线程,一种是继承Thread类,一种是实现Runnable接口;Thread类是在java.lang包中定义的。一个类只要继承了Thread类同时覆写了本类中的run()方法就可以实现多线程操作了,但是一个类只能继承一个父类,这是此方法的局限。作者:wwww1988600来源:wwww1988600的博客|原创 2016-08-25 10:18:53 · 382 阅读 · 0 评论 -
java 使用线程池做DDOS 攻击示例
public class DDos { public static void main(String[] args) { ExecutorService es = Executors.newFixedThreadPool(1000); Mythread mythread = new Mythread(); Thread thread = ne原创 2016-08-31 15:44:59 · 4980 阅读 · 0 评论 -
Lock and Condition 实现线程同步
lock 和 synchronized 相似 可以替代这个关键字Lock lock=new ReentrantLock()lock.lock(); 进入共享代码区try{code......}finnaly{lock.unlock()}lock.unlock()解开锁基本和synchronize是一样的,原来的synchronized是锁对象,这个lock相当原创 2016-08-31 11:11:17 · 374 阅读 · 0 评论 -
两个线程同时调用一个函数会出现什么情况?
两个线程同时调用一个函数会出现什么情况?最近在研究多线程,然后突然想到如果两个线程同时访问一个函数的话,要不要加锁呢,加锁怎么加,不加又怎样这样的问题..然后去网上找了些帖子学习学习......上面的代码明显执行串了!!!!函数本身只是代码,代码是只读的,无论多少个线程同时调用都无所谓,因为是只读嘛.但是函数里面总要用到暑假 ,如果数据属性线程级转载 2016-08-31 11:20:22 · 18007 阅读 · 0 评论 -
读写锁实现缓存系统demo
package uses;import java.util.HashMap;import java.util.Map;import java.util.concurrent.locks.ReadWriteLock;import java.util.concurrent.locks.ReentrantReadWriteLock;public class CacheDemo { pr原创 2016-08-31 11:12:03 · 565 阅读 · 1 评论 -
java5 线程并发库
下面是线程池 如上所示new了一个固定大小的线程池,for循环执行10次把十个runnable任务对象创建并放到线程池中执行,每个任务是循环10次,一共有10个任务,如果线程池只有三个线程,那么每个线程执行一个任务,最开始只能是三个线程执行三个任务,并且轮流执行,当某个任务执行完了之后才开始第4个任务的执行。除了固定的线程池外,还有其他两种线程池原创 2016-08-30 15:30:23 · 389 阅读 · 0 评论 -
多线程共享变量
题目如下:设计4个线程,其中两个线程每次对j增加1,另外两个线程对j每次减少1。如果每个线程执行的代码相同 ,可以使用同一个runnable对象,这样在不同的线程中只需要把这个runnable对象传到里面去即可,因为runnable对象的run方法天热原子性,不可能run方法被打断,一个run方法执行完后可能会切换到另一个线程的run方法 ,所以可以实现线程同步,例如买票程序火车票这样的程原创 2016-08-28 23:59:19 · 1170 阅读 · 0 评论 -
ThreadLocal 线程范围的共享变量
上图说明的是 比如两个转账线程 ,需要有事务控制,当然这个事务控制需要时connection级别的,因此两个线程都要有自己的connection ,并且互不影响,这样当一个事务提交的时候 才不会影响另一个事务的的状态,通过把connection设置为ThreadLocal变量 不同的线程使用各自的connection。下面 展示的是 使用ThreadLocal变量 来为两个线程分配数据原创 2016-08-28 22:49:41 · 1560 阅读 · 0 评论 -
主线程 和子线程的同步控制
有道面试题 子线程循环10次 然后 主线程 循环100次 如此往复50次 通过主线程和子线程的同步实现public class Test { public static void main(String args[]) { //子线程循环10次,主线程循环100次 如此循环50次 new Thread( new Runnable(){ @Overrid原创 2016-08-27 17:25:47 · 3473 阅读 · 0 评论 -
多线程 定时器 Timer
public class Test { public static void main(String args[]) {// PythonInterpreter interpreter = new PythonInterpreter(); // interpreter.exec("days=('mod','Tue','Wed','Thu','Fri','Sat','Sun'原创 2016-08-25 20:47:49 · 481 阅读 · 0 评论