- 浏览: 448027 次
- 性别:
- 来自: 广州
文章分类
- 全部博客 (369)
- javascript html (20)
- java (31)
- jquery (15)
- jcrop (0)
- JEECG (1)
- ajax (3)
- 反射 (3)
- VI (1)
- mysql (48)
- easyui (1)
- svn (2)
- MD5 加密 (1)
- spring (14)
- ORACLE (8)
- 经验总结 (1)
- TCP/IP协议 (1)
- ICMP协议 (1)
- eclipse (1)
- Reflect (1)
- linux (21)
- android (5)
- excel 操作 (1)
- java tree (1)
- html (1)
- plupload (1)
- mongodb (9)
- aes (1)
- python (1)
- java relax (1)
- highcharts (2)
- json (2)
- java 多线程 (30)
- maven (2)
- 设计模式 (1)
- jsp+js (2)
- 面向对象 (1)
- jvm (16)
- 缓存 (1)
- proxy (1)
- 聊侃 (1)
- 面经 (1)
- java 字节 (1)
- java 类加载器 (2)
- java 基础 (2)
- java 语法糖 (1)
- java 位运算 (1)
- 排序 (3)
- java 服务器性能优化 (19)
- 网络编程 (2)
- jvm 参数设置 (0)
- jersey (1)
- webservice (2)
- nginx+多tomcat 集成 (5)
- nginx (16)
- squid (3)
- memcached (5)
- 正则表达式 (1)
- 常用免费接口 (1)
- jpa (1)
- win7 (1)
- java处理大文件 (1)
- js正则表达式 (1)
- tomcat (1)
- java 敏感字 (1)
- 系统架构优化 (4)
- 学习 (1)
- 本地测试QQ微博第三方登陆 (1)
- java 错误 (1)
- 微信支付 (1)
- https (1)
- httpclient (1)
- awk (2)
- loadrunner (1)
- sql server 2008 (3)
- git (4)
- sql server2008 (1)
- solr (2)
- centos (1)
- 数据存储架构 (3)
- log4j (1)
- weboffice (1)
- 并发编程 (1)
- postgreSQL (0)
- ssl (1)
- openssl (1)
- activeMQ (2)
- IDEA (1)
- shell (1)
- ansible (4)
- docker (2)
- grafana (1)
- jmeter (1)
- TLS (1)
- 将博客搬至CSDN (1)
最新评论
-
dida1990:
啊喔,过去了这么久,不过还是评一个。谁说uuid的hashCo ...
高并发生成订单号(二) -
annan211:
yclovesun 写道使用了uuid,为什么还要machin ...
高并发生成订单号(二) -
yclovesun:
使用了uuid,为什么还要machineId?uuid已经可以 ...
高并发生成订单号(二) -
u013280917:
太深奥,看不懂
mysql优化特定类型的查询
package threadTest; public class MultiThreadShareDemo { public static void main(String[] args) throws Exception { Data data = new Data(); Plus p = new Plus(data); Cut c = new Cut(data); Thread t1 = new Thread(p); Thread t2 = new Thread(p); Thread t3 = new Thread(c); Thread t4 = new Thread(c); t1.start(); t2.start(); t3.start(); t4.start(); } } /** * 数据包装 * @author jingfn * */ class Data{ private int data; private boolean flag; private int count = 2; public synchronized Data plus(Data dataIns){ while(flag){ try { this.wait(); } catch (InterruptedException e) { e.printStackTrace(); } } dataIns.data = dataIns.data - 1; dataIns.count = dataIns.count - 1; System.out.println(Thread.currentThread().getName()+"--plus--------"+dataIns.data+"---"+dataIns.count); if(dataIns.count <= 0){ dataIns.flag = true; this.notifyAll(); } return dataIns; } public synchronized Data cut(Data dataIns){ while(!flag){ try { this.wait(); } catch (InterruptedException e) { e.printStackTrace(); } } dataIns.data = dataIns.data + 1; dataIns.count = dataIns.count + 1; System.out.println(Thread.currentThread().getName()+"--cut--"+dataIns.data+"---"+dataIns.count); if(dataIns.count >= 2){ dataIns.flag = false; this.notifyAll(); } return dataIns; } } /** * 加线程 * @author jingfn * */ class Plus implements Runnable { private Data instance; public Plus(Data instance){ this.instance = instance; } public void run(){ while(true){ instance.plus(instance); } } } /** * 减线程 * @author jingfn * */ class Cut implements Runnable { private Data instance; public Cut(Data instance){ this.instance = instance; } public void run(){ while(true){ instance.cut(instance); } } }
发表评论
-
java 多线程操作数据库 及 静态bean注入
2018-01-09 10:47 872package com.robustel.rlink.de ... -
Amino 框架简介
2014-10-17 11:30 1404对数据加锁是实现多线程的一种策略,但是加锁无疑会增加系 ... -
Java 重入锁(ReentrantLock)和内部锁(synchronized)
2014-10-16 15:44 1560ReentrantLock 和 synchronize的 ... -
Java 锁分离
2014-10-16 15:35 1308读写锁思想的延伸就是锁分离。读写锁根据读写操作功能上 ... -
java 高性能运算-- 双端队列
2014-10-15 16:04 983JDK 1.6中 提供了一种双端队列,简称 Dequ ... -
java 高性能运算--并发队列
2014-10-15 15:33 2460JDK 提供了两套并发队列的实现,一个是以 Conc ... -
并发模式下的单例创建
2014-09-29 16:20 747单例模式的创建 分为 ... -
Java 同步集合的应用
2014-09-14 23:45 0Java 同步集合的应用 -
java 阻塞队列的应用
2014-09-14 23:44 0java 阻塞队列的应用 -
java 多线程集合
2014-09-14 23:28 0java 多线程集合 -
java Exchanger 线程数据交换
2014-09-14 22:56 0java Exchanger 线程数据交换 -
java CountDownLatch 实例
2014-09-15 18:07 826Java的concurrent包里面的CountDownLat ... -
java 多线程之 CyclicBarrier
2014-09-13 19:25 798CyclicBarrier (周期障碍)类可以帮助同步,它允许 ... -
java CyclicBarrier 循环阻塞
2014-09-12 22:43 399java CyclicBarrier 循环阻塞 -
java 多线程的锁消除
2014-09-12 18:31 1215Java 中使用同步 来保证数据的安全性,但是对于一些明显不会 ... -
java锁的种类以及辨析(一):自旋锁
2014-09-12 16:22 1597Java的多线程安全是基于Lock机制(或者隐式锁synchr ... -
Java锁的种类以及辨析
2014-09-12 15:15 1547锁作为并发共享数据,保证一致性的工具,在java平台有多种实现 ... -
java Semaphore 信号量详解和实例
2014-09-12 11:51 2116生产者线程用于往链表里添加节点,数个工作线程从链表取出节点并处 ... -
线程范围内的共享数据 ThreadLocal 分析与详解
2014-08-30 19:21 783Java 线程范围内的数据共享机制,需要解决的问题是 : 多 ... -
java多线程之Semaphore信号量详解
2014-08-27 13:35 1267原创作品,允许转载,转载时请务必以超链接形式标明文章 原始 ...
相关推荐
java用线程的两种实现方式设计四个线程两次对J加1两次对J减1
本程序主要是通过利用线程类,内部类等方法实现对j的增减,个人看到面试题才做了一下
设计4个线程,其中两个线程每次对j增加1,另外两个线程对j每次减少1。写出程序。
这两个线程共享一个数组A,写线程对数组分别进行10次写操作,每次写操作对A的每个元素赋一个相同的值;读线程对数组分别进行10次读操作,每次读操作输出A中所有元素的值。写出相应代码,并分析运行结果。修改代码,使...
// 定义map对象来存储数据,主线程中定时向该对象插入数据,每次插入两个连续的数据插入后显示出当前map大小。 //第二个线程定时删除map中的数据,每次删除一个最前面的数据,删除后显示当前的map大小。 //当主线程...
2.银行有一个账户,有两个用户分别向同一个账户存3000元,每次存1000,存三次。 3.余额大于取款金额才可取钱 4.多人多次存取完毕后,余额正常 5.当一个用户对金额进行修改时,其他用户应不可进行修改,使用同步机制...
在Python中可使用的多线程模块主要有两个,thread和threading模块。 threading模块允许创建和管理线程,提供了更多的同步原语。threading模块中最常用的类是Thread。 Python多线程爬虫 多线程爬虫代码 ...
1. 在windows 下编写一个控制台应用程序,命名为an_ch2_1b。...而新创建的线程则不断地对shared_var 进行减1 操作,即每次循环shared_var 被减1。观察程序运行的结果,并对你看到的现象进行解释。
1.方式1:继承 QThread 类方式:通过继承 QThread 类并重写 run() 函数来创建线程,线程对象本身即为线程。 优点:相对简单,易于理解和实现;可以直接重写 run() 函数来定义线程的逻辑;可以通过信号和槽机制与其他...
* 连接被复用,不是每次都重新创建一个新的连接(连接的创建是一个很消耗资源的过程) * 连接断开了后会自动重连 * 当无可用连接时,获取连接的线程会等待一定时间尝试继续获取,直到取到有效连接或者超时返回一...
西南科技大学Java程序设计与实践 实验六 多线程实验实验报告及源码...2、分别采用Thread类的子类和Runnable接口两种方式完成两个线程的设计; 3、进行全面的测试并分析测试结果;4、简要说明你在该实验中的收获与体会。
通过程序创建两个线程,一个线程负责从文件”stat.c”读入数据,另一个线程负责显示读出的文件内容,每次读入 n 个字节,n 从键盘输入。
6、设计4个线程,其中两个线程每次对j增加1,另外两个线程对j每次减少1。 7、列出某个目录下的所有文件。 8、编写一个Hibernate程序,用来获得所有的学生信息。 9、使用Struts2框架来实现页面国际化。 10、写一个...
总结java的内存模型,要解决两个主要的问题:可见性和有序性。我们都知道计算机有高速缓存的存在,处理器并不是每次处理数据都是取内存的。JVM定义了自己的内存模型,屏蔽了底层平台内存管理细节,对于java开发人员...
听歌和聊天就是两个任务,这个两个任务是“同时”进行的。一个任务一般对应一个进程,也可能包含好几个进程。比如运行的MSN就对应一个MSN的进程,如果你用的是windows系统,你就可以在任务管理器中看到操作系统正在...
上网找的资料,希望对大家有用,我看了还是不错的!!!
1. 实现一个“difftree”命令,其功能是比较两个目录下的文件结构和文件信息。当在命令行方式下执行“difftree <dir1> <dir2>”命令时,能够比较目录dir1和 目录dir2是否具有相同的结构,对相同的部分,进一步比较...
用两个线程分别完成画圆和画方的功能 每次绘制圆形或者方形的位置、大小和颜色值都是随机产生的
1. 1 - 100, 找出质数 2. 冒泡排序 3. 1~100共一百个自然数,...6. 设计4个线程,其中两个线程每次对j增加1,另外两个线程每次对j减少1 7. 给你List A,已知,如 3,1,4,9,5```````100. 让你求出里面的最大值与最小值。
下面的例子给出了同时进行的两个线程查询。第一次按下按钮时,线程开始执行,以后 每次按下按钮时,如果线程处于挂起状态则继续执行,否则挂起线程,线程执行完毕之后将 连接 DataSource,查询结果将显示在相应的 ...