- 浏览: 1574638 次
- 来自: 上海
文章分类
- 全部博客 (374)
- Java (101)
- Struts (54)
- Oracle (30)
- JavaScript (16)
- Spring (27)
- Hibernate (16)
- MyEclipse (3)
- JSF (1)
- FreeMarker (2)
- SiteMesh (2)
- JfreeChart (2)
- Ibatis (2)
- JSP (12)
- MyBatis (4)
- SWFupload (1)
- EJB (4)
- Jboss (4)
- WebService (2)
- Linux (16)
- Android (2)
- XML (6)
- Java 网络编程 (13)
- AXIS2 (1)
- FTP (1)
- Jswing (1)
- Socket (3)
- 杂文选集 (6)
- solr (2)
- PS (1)
- Tomcat (7)
- JDBC (9)
- Highcharts (1)
- maven (1)
- Nodejs (0)
- navicat (2)
- Exception (5)
- eclipse (3)
- jQuery (1)
- springMVC (4)
- MySQL (11)
- SVN (1)
- Sql Server (1)
- zookeeper (1)
- JVM (1)
- Groovy (2)
- Git (1)
- Nginx (1)
- DynamicReport (1)
- IDEA (2)
- JasperReports (1)
- Postgresql (2)
- Mac (1)
- gradle (1)
- 数据结构算法 (1)
最新评论
-
hpu145:
引用引用
java 千分位的添加和去除 -
被遗忘的下路:
少了个junit-4.8.2的包
SSH2整合完整案例(四十三) -
白天看黑夜:
java过滤emoji字符处理,希望能帮到你http://ww ...
emoji 表情图片解决方法 -
caipeiming:
这个挺好JavaScript实现input输入框控件只允许输入 ...
js 控制文本框只能输入中文、英文、数字等 -
双子树:
东西太好啦受教啊
Struts2 JSP中将list,set ,Map传递到Action然后<s:iterator>遍历(三十五)
/** *父子线程 交替打印10 次, 100次 如此循环 n次 */ public class TraditionalThreadCommunication { static boolean isSubRun=true; /** * @param args */ public static void main(String[] args) { /*new Thread( new Runnable() { @Override public void run() { int num=0; synchronized (TraditionalThreadCommunication.class) { while (num<=4) { if(!isSubRun){ try { TraditionalThreadCommunication.class.wait(); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } } for (int i = 0; i < 10; i++) { System.out.println(Thread.currentThread().getName()+" run "+i); } isSubRun=false; TraditionalThreadCommunication.class.notify(); num++; } } } } ).start(); new Thread( new Runnable(){ @Override public void run() { int num=0; while(num<=4){ synchronized (TraditionalThreadCommunication.class) { if(isSubRun){ try { TraditionalThreadCommunication.class.wait(); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } } for (int i = 0; i < 100; i++) { System.out.println(Thread.currentThread().getName()+" run "+i); } isSubRun=true; TraditionalThreadCommunication.class.notify(); num++; } } } } ).start();*/ final Business bus=new Business(); new Thread(){ @Override public void run() { for (int i = 1; i < 5; i++) { bus.sub(i); } } }.start(); new Thread(new Runnable(){ @Override public void run() { for (int i = 1; i < 5; i++) { bus.main(i); } } }).start(); } } class Business{ private boolean sShouldSub=true; public synchronized void sub(int i){ if(!sShouldSub){ //这里换成 while 比 if 更安全 , 健壮 try { this.wait(); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } } for (int j = 1; j <= 10; j++) { System.out.println("Sub thread sequence of "+j+" loop of"+i); } sShouldSub=false; this.notify(); } public synchronized void main(int i){ while(sShouldSub){//这里换成 while 比 if 更安全 , 健壮 try { this.wait(); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } } for (int j = 0; j < 100; j++) { System.out.println("Main thread sequence of "+j+" loop of"+i); } sShouldSub=true; this.notify(); } }
发表评论
-
检测一个字符串是否在jvm的常量池中
2018-12-18 17:34 948public static boolean inPool( ... -
UTC时间, GMT时间 ,夏令时
2017-08-18 15:12 2234经常混淆于此,特地研究了一下,记录在此以备忘。 整个地 ... -
java 反射List
2017-02-18 01:58 5600package com.enhance.reflect; ... -
JDK1.5 Exchange 两个线程互换数据
2016-08-04 18:00 915import java.util.concurrent ... -
JDK1.5 CountDownLatch
2016-08-04 16:25 1025/* * 还有一个利用场景: ... -
java CyclicBarrier 循环障碍阻塞
2016-08-03 23:54 964//一个同步辅助类,它允许一组线程互相等待,直到到达某个公 ... -
java 信号灯 Semaphore
2016-08-03 23:53 1792更多介绍http://blog.csdn.net/java20 ... -
java 使用读写锁设计一个缓存模型
2016-08-03 23:49 1374import java.util.HashMap; ... -
java 读写锁
2016-08-03 23:46 785import java.util.Random; i ... -
java 多个线程之间同步通信
2016-08-02 17:16 2371import java.util.concurrent ... -
jdk1.5 锁 Lock 和 Condition
2016-08-02 17:03 886// lock 练习 public class Lock ... -
JDK1.5 获取线程执行结果 Callable Future
2016-08-02 15:08 1133import java.util.Random; i ... -
JDK1.5 线程池
2016-08-02 14:48 768import java.util.concurrent ... -
java 多线程ThreadLocal
2016-08-02 00:13 1115import java.util.Random; ... -
java 定时器 Timer
2016-08-01 16:53 3851import java.util.Calendar; ... -
java 线程同步
2016-08-01 16:43 983import java.util.concurrent.l ... -
java多线程练习
2016-08-01 16:35 1805Java 传统多线程 Java 多线程同步 Java 多线 ... -
java 传统多线程
2016-08-01 16:34 968/** * 传统多线程 */ public ... -
java 图片,剪切,缩放
2016-01-06 10:21 2181package out; import ja ... -
java术语(PO/POJO/VO/BO/DAO/DTO)
2014-11-27 11:45 1947PO(persistant object) 持久 ...
相关推荐
java 多线程 其实就是每个线程都拥有自己的内存空间,多线程之间的通信,比例A线程修改了主内存(main方法的线程)变量,需要把A线程修改的结果同步到主线程中,这时B线程再从主线程获取该变量的值,这样就实现了...
java多线程知识点,源代码案例,代码案例中包括如何创建线程,主线程,线程优先级,线程组,线程同步,死锁,线程间的通信知识点
java多线程经典案例,线程同步、线程通信、线程阻塞等经典案例
1.线程同步 2.线程间通信 3.线程挂起、恢复和终止 demo演示
资源名称:Java多线程与并发库高级应用视频教程22集资源目录:【】01传统线程技术回顾【】02传统定时器技术回顾【】03传统线程互斥技术【】04传统线程同步通信技术【】04传统线程同步通信技术_分割纪录【】05线程...
学习目录:1. 线程简介 2. 线程实现(重点) 3. 线程状态 4. 线程同步(重点) 5. 线程通信问题 6. 高级主题
主要介绍了Java的线程同步以及线程间通信,多线程编程是Java学习中的重点和难点,需要的朋友可以参考下
彻底明白Java的多线程-线程间的通信.doc
java多线程每个线程挨着打印ABC的4种实现方式,有4个线程t1、t2、t3、t4,t1打印A后t2打印A再t3打印A再t4打印A,然后从新回到t1打印B再t2打印B...t4打印B... 4个线程轮流打印abc... 一个线程可以理解为一个人,打印...
1.讲解了Java多线程的基础, 包括Thread类的核心API的使用。2.讲解了在多线程中对并发访问的控制, 主要就是synchronized的使用, 由于此关键字在使用上非常灵活, 所以书中用了很多案例来介绍此关键字的使用, 为...
NoHttp核心架构之多线程通信、线程安全、线程同步;synchronized锁,Lock锁;具体讲解请移步博客:http://blog.csdn.net/yanzhenjie1003/article/details/50992468
本篇文章提供了20道高难度的Java多线程编程面试题及详细解析,旨在帮助开发者展示出卓越的并发编程能力。在当今高并发的应用场景下,对多线程编程的理解和应用是评估面试者的重要指标。通过这些高难度问题,您将全面...
在char01包里放置Java多线程基本知识的代码。内容如下: 如何使用多线程 如何得到多线程的一些信息 如何停止线程 如何暂停线程 线程的一些其他用法 在char02包里放置了Java对变量和对象并发访问的知识的代码...
NoHttp核心架构之多线程通信、线程安全、线程同步;synchronized锁,Lock锁;具体讲解请移步:http://blog.csdn.net/yanzhenjie1003/article/details/50992468
java多线程安全性基础介绍 线程安全 正确性 什么是线程安全性 原子性 竞态条件 i++ 读i ++ 值写回i 可见性 JMM 由于cpu和内存加载速度的差距,在两者之间增加了多级缓存导致,内存并不能直接对cpu可见。 ...
本题目的研究内容包括以下几个方面:首先,研究Java多线程技术,包括线程的创建、同步、通信等机制,以及线程安全的概念和实现方法。然后,研究Http协议,包括Http请求和响应的格式、状态码等,以及如何利用Http协议...
b)使用runnable可以解决性和不能共享的问题(不是说使用runnable解决了共享问题,只是相对于创建Thread来说,它可以算的上是共享了,为了获得更精确的共享问题,它必须的使用线程同步操作)。实现了runnable接口...
2- Java多线程:易失性–基本线程通信 3- Java多线程:同步 4- Java多线程:锁定对象 5- Java多线程:线程池 6- Java多线程:倒计时闩锁 7- Java多线程:生产者-消费者 8- Java多线程:等待并通知 9- Java多线程:...
研究了程序并发过程中的同步机制和交互通信机制,比较了基于操作系统级和基于Java多线程级并发机制的实现结构,总结了并发程序中死锁预防的一些编程规则和策略。所构造的一个具有完全意义上的并发同步的框架实例有...
该文档是笔者在学习李刚老师《Java疯狂讲义》中有关多线程的用法而总结出来的笔记,其中主要的内容包括线程创建和启动、线程的生命周期、控制线程、线程同步、线程通信线程池等基本内容。对Java多线程有详细的介绍。