- 浏览: 2737940 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (1313)
- JS (65)
- CSS (6)
- html (30)
- dweamweaver工具相关 (2)
- Spry (1)
- DB (103)
- p2p (1)
- java (405)
- .net (3)
- oracle (24)
- struts (18)
- myeclipse (15)
- linux (49)
- SQL SERVER2008 (101)
- jsp (21)
- resume (1)
- other (1)
- ajax (3)
- 云计算 (2)
- excel (32)
- vss (1)
- 警戒 (1)
- eclipse (21)
- c (1)
- dialog designer (7)
- axis1.4 (4)
- webservice (11)
- CTI (1)
- svn (8)
- spring (27)
- tomcat (13)
- log4j (14)
- 网络应用 (7)
- mysql (59)
- bat (4)
- jdbc (1)
- 正式表达式 (1)
- hibernate (27)
- iphone (2)
- 系统应用 (107)
- servlet (3)
- vmware (2)
- php (12)
- JQuery (30)
- avaya (5)
- postgresql (19)
- java面试 (1)
- rose (1)
- Socket (1)
- xml (2)
- PowerDesign (3)
- visio (1)
- jstl (4)
- informix (2)
- assemble (2)
- English Study (2)
- IOS (9)
- CMMI (1)
- outlook (4)
- poi (1)
- hadoop (5)
- SAE (3)
- jor (1)
- jquery mobile (1)
- git (11)
- mina (1)
- ibatis (2)
- wordpress (2)
- 支付宝 (1)
- struts2 (14)
- apns (1)
- html5 (1)
- xampp (2)
- uml (2)
- 项目管理 (1)
- 敏捷开发 (1)
- 设计模式 (2)
- spark (1)
- maven (9)
- 微信公众平台 (1)
- json (2)
- junit (1)
- quartz (2)
- redis (2)
- memcache (1)
- android (3)
- 红杏 (1)
- postman (1)
- mybatis (5)
- iplat4j (1)
- windows (1)
- logback (1)
- Netty (1)
- wiki (1)
- dubbo (1)
- sonar (2)
- jenkins (2)
- mac (10)
- office (4)
- groovy (1)
- intellij (6)
- zookeeper (2)
- 诛仙 (1)
- MQ (2)
- docker (1)
- 2222 (0)
最新评论
-
代码改变生活:
虽然代码敲的头疼的要命,但是依然要感谢你,感谢您共享!!!!开 ...
jxl读取excel日期相差8小时 -
www3837:
org.slf4j.Logger 下载 -
hyztty:
wait_timeout = 86400 interacti ...
druid连接池 -
niaodanwangzi:
连接池可不是给你检测连接状态用的。是为了连接复用,减少连接数。 ...
druid连接池 -
supermine0903:
学习了 啦啦啦
多个路由器同时上网
1:start():用于开始执行run()方法中定义的线程体
2:sleep():调整java运行时间,指定调用线程的睡眠时间
3:join():用于调用线程等待本线程结束
4:yield():暂时停止调用线程并将其放在队列末尾,等待另一轮执行,使同一优先级的其他线程有机会运行
ps:join和yield可以理解为是一对反义词。
下面看代码:
import java.io.PrintWriter; public class MethodTest { static PrintWriter out = new PrintWriter(System.out, true); public static void main(String[] args) { FristThread frist = new FristThread(); SecondThread second = new SecondThread(); frist.start(); second.start(); try { out.println("waiting for first thread to finishing..."); frist.join(); out.println("it is a long wait!"); out.println("waking up second thread..."); synchronized (second) { second.notify(); } out.println("waking for second thread to finishing ..."); second.join(); } catch (InterruptedException e) { e.printStackTrace(); } out.println("i'm ready to finish too."); } } class FristThread extends Thread { public void run() { MethodTest.out.println("First thread starts running"); try { sleep(10000); } catch (InterruptedException e) { e.printStackTrace(); } MethodTest.out.println("First thread finishes running"); } } class SecondThread extends Thread { public synchronized void run() { MethodTest.out.println("Second thread starts running"); MethodTest.out.println("Second thread suspends running"); try { wait(); } catch (InterruptedException e) { e.printStackTrace(); } MethodTest.out.println("Second thread run again and finishes "); } }
结果:
First thread starts running waiting for first thread to finishing... Second thread starts running Second thread suspends running First thread finishes running it is a long wait! waking up second thread... waking for second thread to finishing ... Second thread run again and finishes i'm ready to finish too.
发表评论
-
普通类和线程类的区别
2017-02-18 21:44 1248假设一个类是SubThread,它的init( ... -
最近一些心得
2017-02-08 16:01 8951、Mac starUML在导出png图片时,不要用s ... -
druid连接池
2016-09-14 16:00 5197环境:Ubuntu+Mysql5.5 近期一直报 ... -
罕见问题记录
2016-08-24 17:56 9201、如果提示对catalina.out无权限。 此时 ... -
Java Security
2016-08-24 17:50 959背景: 公司有某些场景需要向第三方提供服务, ... -
kafka java demo
2016-07-10 20:51 6765环境:ubuntu10 2台(32位)+JDK1.8(32 ... -
autowired resource component
2016-05-11 15:23 947背景:同样的bean类型有2个。 尝试用autowire ... -
eclipse 部署spring源码经验之谈
2016-05-08 23:41 17071、junit加载applicationCont ... -
main函数中如何实例化内部类
2016-04-30 22:50 1205需要先new一个父类的对象,然后用父类对象.new 内 ... -
java synchronized 串行
2016-04-30 22:42 1196背景:大家都知道用synchronized来实现加锁 ... -
观察者 Listener是什么意思
2016-02-26 10:40 946从观察者设计模式来看,Listener翻译成中文就是 ... -
UTF-8和Unicode的关系
2016-02-25 16:34 981utf-8只实际了unicode的第一个plane ... -
dubbo
2016-02-18 15:48 7731、配置dubbo.xml,主要是连接到dubbo服务 ... -
datetime格式化
2016-02-18 11:25 841org.joda.DateTime格式化成特定的Str ... -
Java接口中的成员变量为什么必须是public static final?
2016-01-10 16:20 1380必须是final的,否则多个类全继承他后,每个人都改, ... -
抽象类能不能有构造函数
2016-01-10 16:06 1041可以有,但是不能用,即不能new。 refur ... -
workspace workset设置
2016-01-10 15:51 1235背景:当eclipse里面的项目太多时,看上去非常凌 ... -
eclipse一直building workspace
2015-12-10 19:37 811我这里的原因很特殊,是因为在配置spring d ... -
序列化和反序列化
2015-12-10 19:19 930说白了,序列化后 ... -
java.net.bindexception cannot assign requested address jvm_bind
2015-12-10 19:14 1401我的原因是hosts文件中关于127.0.0.1有2个 ...
相关推荐
总结来说,C#的多线程控制实例涉及创建线程、启动和停止线程、线程间的同步和通信,以及如何安全地管理线程。通过理解和熟练运用这些概念,开发者可以编写出高效、稳定的多线程程序。在实践中,要特别注意避免常见的...
本篇将深入探讨易语言中如何实现多线程控制以及线程数量的管理。 在易语言中,线程用于在单个进程中同时执行多个独立的代码段,从而提高程序的执行效率。创建线程的基本步骤包括定义线程函数、创建线程对象和启动...
在C#中,`System.Threading`命名空间提供了大量的类和方法来支持多线程编程,如`Thread`、`ThreadPool`、`Task`等。大漠的模板可能整合了这些工具,并进行了封装,使得开发者可以更方便地创建、管理和同步线程。 ...
在【标题】"java 多线程 控制按钮移动 例子"中,提到的是使用多线程来实现GUI(图形用户界面)中的按钮动态移动,这通常涉及到事件处理和线程同步。 【描述】提到了多线程的概念,它允许并发执行多个指令流,每个...
这个“java多线程控制的赛跑程序”是一个示例,展示了如何利用多线程来模拟一场赛跑比赛。在这个程序中,每个参赛者(线程)都有自己的运行逻辑,通过线程的并发执行来模拟实际的赛跑过程。接下来,我们将深入探讨...
线程控制的实践不仅关乎性能,还直接影响程序的稳定性和可靠性。合理的线程池大小设置可以根据系统的实际硬件配置和任务特性来确定,如处理器核心数、任务执行时间等。而线程通信则需要根据具体业务逻辑设计合适的...
标题中的“多线程控制`ProgressBar`”指的是在程序执行耗时任务时,通过多线程技术在后台处理工作,同时主线程负责更新`ProgressBar`的状态,以显示任务的完成进度。这样做的好处在于,可以避免因为长时间阻塞主线程...
令牌桶算法是其中一种广泛应用的流量控制方法。本文将深入探讨如何在Linux环境下利用多线程技术来实现令牌桶流量控制。 首先,我们要理解令牌桶算法的基本原理。令牌桶算法是一个允许突发数据传输并同时保持平均...
在这个"操作多线程删除数据库表,以及控制listbox多线程呈现"的小程序中,我们将探讨如何利用多线程来处理数据库操作和UI更新。 1. **多线程基础**:多线程是指在一个应用程序中同时运行多个独立的执行流。在.NET ...
Windows Forms提供了丰富的控件和事件机制,便于实现窗口间的交互和多线程控制。例如,一个窗口可以通过实例化另一个窗口并传递参数来实现值的传递。 8. **`Form`对象的`Show`与`ShowDialog`方法**:`Show`方法会...
本篇文章将详细讲解如何通过多线程实现对两个任务的独立控制,以及如何进行线程同步,以确保数据的一致性。 首先,我们来看第一个案例:实现两个线程分别控制两个运动。在计算机编程中,线程可以被视为程序的执行流...
然而,多线程也带来了数据同步的问题,因为多个线程可能同时访问共享资源,如果不加以控制,就可能导致数据不一致或引发错误。本篇文章将深入探讨三种在C++中实现多线程同步的方法:事件对象、关键代码段和互斥对象...
在本场景中,“多线程控制红绿灯变化”是一个典型的并发编程问题,旨在模拟现实生活中交通信号灯的交替工作模式。这个系统设计通常涉及两个主要线程,一个负责控制红灯,另一个负责控制绿灯,它们需要按照特定的时间...
### JavaScript多线程的实现方法 #### 背景与概念 在JavaScript中,传统的单线程模型限制了其在复杂应用中的性能表现。随着Web应用程序功能日益强大,多线程的支持变得越来越重要。虽然原生JavaScript是基于事件...
本文将深入探讨如何在多线程环境中实现进度条控制,并通过一个名为"progressctr"的示例来说明。 首先,我们要理解线程的概念。线程是程序执行的最小单元,每个线程都有自己的执行栈,可以在同一进程中并发执行。在...
本文将详细介绍如何在VB6中实现多线程,并提供两种实用的方法来帮助开发者更好地理解和掌握多线程编程。 #### 二、多线程简介 多线程是指在单个进程中创建并运行多个独立执行单元的技术。每个线程可以并发执行不同...
### VC多线程中控制界面控件的几种方法 在VC++(Visual C++)开发环境中,特别是使用MFC(Microsoft Foundation Classes)框架时,处理多线程与GUI(图形用户界面)之间的交互是一个常见的需求。为了确保程序的稳定...
在C#中,线程控制方法主要包括Thread.Start()、Thread.Abort()、Thread.Suspend()和Thread.Resume()等。 1. Thread.Start():启动线程的执行,线程从开始执行到结束。 2. Thread.Abort():终止线程的执行,线程立即...
标题与描述:“C多线程调试方法” 在深入探讨C多线程调试方法之前,我们需要理解多线程编程的基本概念及其在C语言中的应用。多线程编程允许在一个程序中并发执行多个线程,提高程序的效率和响应能力。然而,这种...