- 浏览: 362015 次
- 性别:
- 来自: 四川
文章分类
- 全部博客 (247)
- 数据库以及sql (11)
- java (48)
- 爬虫学习 (20)
- java编程 (28)
- python编程以及安装和配置 (27)
- oracle数据库 (32)
- mongodb基本操作 (4)
- linux学习 (7)
- easyUI (2)
- nodeJs (8)
- python学习 (16)
- 其他 (13)
- hadoop (1)
- svn (1)
- 汉字 (1)
- windows (2)
- jsp (5)
- fiddler (1)
- ETL (1)
- teamviewer (1)
- maven (4)
- GIT (2)
- datagrip (1)
- ocr (1)
- redis (3)
- mysql (3)
- linux (1)
- 数据服务 (0)
最新评论
----线程间的通信
public class ListAdd1 {
private volatile static List list = new ArrayList();
public void add(){
list.add("bjsxt");
}
public int size(){
return list.size();
}
public static void main(String[] args) {
final ListAdd1 list1 = new ListAdd1();
Thread t1 = new Thread(new Runnable() {
public void run() {
try {
for (int i = 0; i < 10; i++) {
list1.add();
System.out.println("当前线程:"+Thread.currentThread().getName()+ "添加了一个元素");
Thread.sleep(500);
}
} catch (Exception e) {
e.printStackTrace();
}
}
},"t1");
Thread t2 = new Thread(new Runnable() {
public void run() {
while(true){
if(list1.size()==5){
System.out.println("当前线程收到通知:"+Thread.currentThread().getName()+ "list.size==5线程停止");
throw new RuntimeException();//抛出运行时异常
}
}
}
},"t2");
t1.start();
t2.start();
}
}
运行结果:
public class ListAdd1 {
private volatile static List list = new ArrayList();
public void add(){
list.add("bjsxt");
}
public int size(){
return list.size();
}
public static void main(String[] args) {
final ListAdd1 list1 = new ListAdd1();
Thread t1 = new Thread(new Runnable() {
public void run() {
try {
for (int i = 0; i < 10; i++) {
list1.add();
System.out.println("当前线程:"+Thread.currentThread().getName()+ "添加了一个元素");
Thread.sleep(500);
}
} catch (Exception e) {
e.printStackTrace();
}
}
},"t1");
Thread t2 = new Thread(new Runnable() {
public void run() {
while(true){
if(list1.size()==5){
System.out.println("当前线程收到通知:"+Thread.currentThread().getName()+ "list.size==5线程停止");
throw new RuntimeException();//抛出运行时异常
}
}
}
},"t2");
t1.start();
t2.start();
}
}
运行结果:
发表评论
-
是什么java多态
2018-11-14 13:43 591Java多态 例1.1+1=2 例2."1&quo ... -
经纬度转换
2018-09-25 13:57 0package com.teamdev.jxbrowser.c ... -
java连接池技术
2018-09-04 14:26 320转:https://www.cnblogs.com/xdp-g ... -
java 提取url字符串中的域名
2018-08-30 15:24 7281package com.teamdev.jxbrowser.c ... -
java多线程中锁(lock)、wait、notify()的使用
2018-07-13 11:31 5630package com.kai.多线程间的通信; impor ... -
volatile关键字
2018-07-12 11:20 582volatile:使变量在多个线程间可见 public c ... -
java根据百度url获取真正的网页地址
2018-07-09 11:26 919/** * 根据百度url,获取原本url * @th ... -
java中的base64字符流与图片的相互转换
2018-06-29 13:27 1178//base64字符串转化成图片 public sta ... -
java去除图片水印的解决办法
2018-06-28 10:54 3182原文地址:http://www.oicqzone.com/pc ... -
java中的中文字符转URLEncode
2018-06-26 11:26 733String urlTypeName =java.net.UR ... -
java下载图片到本地实例
2018-06-25 15:34 1295public static void main(String[ ... -
Myeclipse中如何更改jsp默认的打开方式
2018-05-04 17:44 5641.打开myeclipse 2.点击上方的 window-&g ... -
java三大范式
2018-05-02 09:50 678参考地址:https://www.cnblogs.com/ja ... -
请求中设置代理IP
2018-04-18 16:24 887(不能直接JVM设置代理 System.getProperti ... -
java获取当前时间的时间戳
2018-04-08 09:25 1412package com.teamdev.jxbrowser.c ... -
java四种线程池实例 (kaigege)
2018-03-28 11:03 641Java通过Executors提供四种线程池: 1.newCa ... -
java获取IP地址(windos,linux)皆可
2018-03-28 09:44 726package com.teamdev.jxbrowser.c ... -
post 请求
2018-02-05 16:32 471public static void trustEveryo ... -
java robot控制鼠标和键盘(笔记本中打印 i love you)(滑动)
2018-01-25 16:57 2024package robot_java; import jav ... -
java ascii转中文(ascii转utf-8)清测好用
2018-01-24 17:41 2862package com.teamdev.jxbrowser.c ...
相关推荐
java多线程经典案例,线程同步、线程通信、线程阻塞等经典案例
结合大量实例,全面讲解Java多线程编程中的并发访问、线程间通信、锁等最难突破的核心技术与应用实践 Java多线程无处不在,如服务器、数据库、应用。多线程可以有效提升计算和处理效率,大大提升吞吐量和可伸缩性,...
学习线程之间的通信协调关系。 2. 使用 runnable 接口实现按两个不同的时间间隔( 1 秒和 3 秒)在屏幕上显示当前时间。 3.写一个程序,模拟4个售票窗口共同卖100张火车票的程序。 使用继承Thread类方式和实现...
Java多线程两个例子,一个是自定义线程池方法实现多线程运行个数的控制,可以解决多线程内存不足的问题。另一个是利用线程通信,读写先关的典型实例
主要介绍了Java多线程中线程间的通信实例详解的相关资料,需要的朋友可以参考下
本源代码是博客《Java 多线程编程之六:线程之间的通信(附源代码)》附带的实例性源代码。原博客链接地址:http://blog.csdn.net/defonds/archive/2010/01/26/5257301.aspx。
java的简单的多线程实例基于C/S模式,ServerSocket,Socket,可实现简单的点对点通信,登录,通过I/O流竖线数据通信
本文主要介绍java 多线程-线程通信 这里整理了相关资料及示例代码,有兴趣的小伙伴可以参考下
java代码,计算机网络基础多线程通信实例。修改路径以访问自己机器指定路径的文件,已有可访问类型:网页、文本、图片
读完本文大概需要30分钟左右,本文有大量的实例代码和典型例题帮助大家理解java多线程。虽然多线程比较难以理解,仅靠一篇文章恐怕搞不定。但读完本文最起码能让你搞懂java多线程的70%以上,至于熟练运用,还是得...
主要介绍了Java多线程通信:交替打印ABAB实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
#Java多线程示例-Java多线程应用实例 1- Java多线程:启动线程 2- Java多线程:易失性–基本线程通信 3- Java多线程:同步 4- Java多线程:锁定对象 5- Java多线程:线程池 6- Java多线程:倒计时闩锁 7- Java多线程...
结合大量实例,全面讲解Java多线程编程中的并发访问、线程间通信、锁等最难突破的核心技术与应用实践 封底 Java多线程无处不在,如服务器、数据库、应用。多线程可以有效提升计算和处理效率,大大提升吞吐量和可...
研究了程序并发过程中的同步机制和交互通信机制,比较了基于操作系统级和基于Java多线程级并发机制的实现结构,总结了并发程序中死锁预防的一些编程规则和策略。所构造的一个具有完全意义上的并发同步的框架实例有...
线程是进程的进一步划分,可以认为一个进程由多个线程按各自的执行 路线运行而组成。由于线程共享同一个进程内存空间,线程间通信、调度开 销要比进程之间的通信、调度开销要小得多。
主要介绍了Java Socket实现多线程通信功能,结合具体实例形式较为详细的分析了java多线程通信的原理及客户端、服务器端相应实现技巧,需要的朋友可以参考下
Java局域网通信——飞鸽传书源代码,大家都知道VB版、VC版还有Delphi版的飞鸽传书软件,但是Java版的确实不多,因此这个Java文件传输实例不可错过,Java网络编程技能的提升很有帮助。 Java聊天程序,包括服务端和...
Java多线程编程核心技术是资深Java专家10年经验总结,全程案例式讲解,首本全面介绍Java多线程...本书以浅白的措辞,结合大量实例,全面讲解Java多线程编程中的并发访问、线程间通信、锁等最难突破的技术与应用实践。
Java局域网通信——飞鸽传书源代码,大家都知道VB版、VC版还有Delphi版的飞鸽传书软件,但是Java版的确实不多,因此这个Java文件传输实例不可错过,Java网络编程技能的提升很有帮助。 Java聊天程序,包括服务端和...
多线程间通信,其实是多个线程操操作同一个资源,但是操作方式不同。典型实例有生产者和消费者,本文也通过实例来分析线程等待唤醒机制。 1、相关API介绍 public final void notify() 唤醒在此对象监视...