- 浏览: 75136 次
文章分类
最新评论
public class Test implements Runnable{ int i=100; public static void main(String [] args){ Test th = new Test(); new Thread(th,"sf2:").start(); new Thread(th,"sf1:").start(); new Thread(th,"sf3:").start(); new Thread(th,"sf4:").start(); new Thread(th,"sf5:").start(); new Thread(th,"sf6:").start(); new Thread(th,"sf7:").start(); new Thread(th,"sf8:").start(); new Thread(th,"sf9:").start(); new Thread(th,"sf10:").start(); } /** * 守护线程 */ public synchronized void run(){ for(;i<1000;i++){ System.out.println(Thread.currentThread().getName()+i); } System.out.println(Thread.currentThread().getName()); } }
结果
sf2:100 sf2:101 sf2:102 sf2:103 ..... sf2:999 sf2: sf10: sf9: sf8: sf7: sf6: sf5: sf4: sf3: sf1:
在使用synchronized关键字时候,应该尽可能避免在synchronized方法或synchronized块中使用sleep或者yield方法,因为synchronized程序块占有着对象锁,你休息那么其他的线程只能一边等着你醒来执行完了才能执行。不但严重影响效率,也不合逻辑。
同样,在同步程序块内调用yeild方法让出CPU资源也没有意义,因为你占用着锁,其他互斥线程还是无法访问同步程序块。当然与同步程序块无关的线程可以获得更多的执行时间。
发表评论
-
java调用js中写入的方法
2017-08-08 14:52 411ScriptEngineManager manager = n ... -
遍历object对象
2012-11-28 09:24 823如 {'name':'李大牛','age':'24'} 生 ... -
日期的使用
2012-11-23 18:23 7181.Calendar和date的转换 ca.setTime(d ... -
根据日期判断出星期
2012-11-14 16:48 650function getWeekString(date){ ... -
js Date转换成String
2012-09-28 11:25 1184Date.prototype.format = functio ... -
MessageFormat
2012-09-04 18:27 670MessageFormat用来格式化一个消息,通常是一个字符串 ... -
switch的参数类型
2012-08-20 14:56 938引用switch(expr1)中,expr1是一个整数表达式, ... -
String倒转
2012-08-20 10:54 783把string转换成byte数组,再按照一定的规则编译这个数组 ... -
lock和Condition
2012-07-11 17:24 560主要相同点:Lock能完成synchronized所实现的所有 ... -
String
2012-06-29 17:42 760String类是final的,不可被继承。public fin ... -
List set和map
2012-06-06 11:10 808Collection ├List │├Linked ... -
数组和集合
2012-06-05 18:51 6821.数组和集合的定义 AType[ ] a=new ATy ... -
java线程
2012-05-15 18:27 6821.线程的定义 a.扩展java.lang.Thread类 ... -
操作xml文件
2012-05-03 13:48 7541. 介绍 1)DOM(JAXP Crimson解析 ... -
IO流的基本概念
2012-04-26 17:52 7761.基类 InputStream,OutputStream.都 ... -
文件的复制和删除
2012-04-26 17:37 683/** * 删除文件,通过文件的类型 * ...
相关推荐
这个"易语言大漠多线程例子.rar"压缩包包含了一个使用大漠插件实现多线程编程的示例项目。 多线程是现代程序设计中一个关键的概念,它允许程序同时执行多个任务,提高了程序的效率和响应性。在易语言中,使用大漠...
本篇文章将详细讲解一个在Delphi中实现的最简单的多线程例子,帮助你理解如何在实践中应用多线程。 首先,让我们分析一下提供的文件列表: 1. `ThSort.dcu` 和 `SortThds.dcu`:这些是编译后的单元文件,包含了源...
3. **C# WinForm多线程示例** - **后台任务执行**:使用`BackgroundWorker`组件,在`DoWork`事件中编写耗时操作代码。 - **UI更新**:由于跨线程更新UI不安全,需使用控件的`Invoke`或`BeginInvoke`方法确保在主线...
在"Delphi API 串口通信 多线程例子.rar"这个压缩包中,可能包含了一个示例项目,展示了如何使用Delphi的API和多线程技术实现串口通信。文件名"codefans.net"可能指的是一个代码分享网站,或者是一个特定的源代码...
在content.txt文件中,可能包含的是具体的源代码示例,通过阅读和分析这些代码,我们可以更深入地理解如何在易语言中结合乐玩图色脚本和鱼刺多线程模块进行实际的编程实践。如果你对这个例子感兴趣,应该尝试打开...
今天没事给大家写一个多线程例子 今天没事给大家写一个多线程例子
本示例着重探讨如何在Java中实现和管理多线程,以及它带来的挑战和解决方案。 一、Java多线程基础 1. 创建线程: - 继承Thread类:创建一个新的类,继承自Thread类,重写其run()方法,然后创建该类的实例并调用...
在给定的“多线程例子”中,我们可以通过分析标题和描述来理解这个示例的核心内容。 标题“多线程例子”表明这是一个关于如何在程序中实现并使用多线程的实例。多线程通常用于处理并发操作,如在用户界面(UI)中,...
"多线程示例.rar"是一个包含完整源码和编译好的示例程序的压缩包,目的是帮助开发者理解如何在Delphi中创建和管理多线程。以下是一些关键的知识点: 1. **TThread 类**:Delphi的`System.Classes`单元中定义了`...
通过上述讨论,我们可以看到,"VB 稳定多线程示例源码"提供的资源对于学习和理解VB中的多线程编程至关重要。它不仅展示了如何创建和管理线程,还可能包含了如何实现线程同步和异常处理的示例,这对于任何希望提高VB...
总结起来,"简单的多线程示例delphi7"这个项目提供了一个基础的多线程实现,通过TThread类创建新线程,并通过重写Execute方法来定义线程任务。开发者可以通过学习这个示例,理解如何在Delphi 7中进行多线程编程,以...
这个“多线程例子”演示了如何在C++环境中实现多线程功能。下面我们将深入探讨多线程的基本概念、C++中的线程库以及如何创建和管理线程。 1. **多线程概念**:在单核CPU中,多线程是通过时间片轮转的方式实现的,即...
在这个“C语言使用多线程例子”中,我们将探讨如何使用Windows API中的`CreateThread`函数来创建线程。 首先,`CreateThread`函数是Windows操作系统提供的一种API调用,用于在进程中创建新的执行线程。它的基本语法...
"秋枫萧萧"的示例则可能是通过VB6的API函数,如CreateThread、ExitThread等,直接与Windows操作系统交互来实现多线程。这种方法更接近底层,灵活性更高,可以直接控制线程的创建、同步和销毁。然而,它需要对...
### C# 多线程示例详解 #### 标题:C# 多线程示例 本示例提供了一个简单且易于理解的C# 多线程编程案例,非常适合初学者快速掌握C# 中多线程的基本用法。通过实际代码演示了如何在C# 中创建线程、管理线程之间的...
在本文中,我们将深入探讨MFC(Microsoft Foundation Classes)库中的多线程概念,并通过一个实际的MFC多线程示例来理解其工作原理。标题"**DuoXianCheng.rar_MFC_MFC多线程_MFC多线程例子_MFC界面线程_mfc 多线程**...
以下是一个简单的多线程示例: ```c #include // 线程函数原型 DWORD WINAPI ThreadFunction(LPVOID lpParam) { // 在这里写线程要执行的代码 printf("Hello from thread ID %lu\n", GetCurrentThreadId()); ...
本文将详细解释标题为"一个最简单的多线程例子"的VC多线程示例,以及如何利用这些概念来提升应用程序的性能。 首先,我们需要理解什么是线程。线程是操作系统分配CPU时间的基本单位,一个进程可以包含一个或多个...
《易语言lw简单多线程例子》是一个关于易语言编程的示例项目,它展示了如何在易语言中实现多线程功能。易语言是中国自主研发的一种简单易学的编程语言,旨在降低编程难度,让更多人能够参与到编程中来。在这个例子中...