摘要:
ThreadPoolService(线程池服务类):这是线程池最核心的一个类。它在被创建了时候就创建了几个线程对象,但是这些线程并没有启动运行,但调用了start()方法启动线程池服务时,它们才真正运行。stop()方法可以停止线程池服务,同时停止池中所有线程的运行。而runTask(Tasktask)方法是将一个新的待执行任务交与线程池来运行。ThreadPoolService类的定义如下:Java代码import java.util.ArrayList; import java.util.List; public class ThreadPoolService { // 线程数 pu... 阅读全文
摘要:
Java 反射是Java语言的一个很重要的特征,它使得Java具体了“动态性”。在Java运行时环境中,对于任意一个类,能否知道这个类有哪些属性和方法?对于任意一个对象,能否调用它的任意一个方法?答案是肯定的。这种动态获取类的信息以及动态调用对象的方法的功能来自于Java 语言的反射(Reflection)机制。 Reflection 是 Java 程序开发语言的特征之一,它允许运行中的 Java 程序对自身进行检查,或者说“自审”,并能直接操作程序的内部属性。例如,使用它能获得 Java 类中各成员的名称并显示出来。Java 反射机制主要提供了以下功能:在运行时判断任意一个对象所属的类。在运 阅读全文
摘要:
在Java 程序中使用多线程要比在 C 或 C++ 中容易得多,这是因为 Java 编程语言提供了语言级的支持。本文通过简单的编程示例来说明 Java 程序中的多线程是多么直观。读完本文以后,用户应该能够编写简单的多线程程序。 为什么会排队等待? 下面的这个简单的 Java 程序完成四项不相关的任务。这样的程序有单个控制线程,控制在这四个任务之间线性地移动。此外,因为所需的资源 ? 打印机、磁盘、数据库和显示屏 -- 由于硬件和软件的限制都有内在的潜伏时间,所以每项任务都包含明显的等待时间。因此,程序在访问数据库之前必须等待打印机完成打印文件的任务,等等。如果您正在等待程序的完成,则这是对.. 阅读全文
摘要:
在java编程思想中对synchronized的一点解释: 1、synchronized关键字的作用域有二种: 1)是某个对象实例内,synchronizedaMethod(){}可以防止多个线程同时访问这个对象的synchronized方法(如果一个对象有多个synchronized方法,只要一个线程访问了其中的一个synchronized方法,其它线程不能同时访问这个对象中任何一个synchronized方法)。这时,不同的对象实例的synchronized方法是不相干扰的。也就是说,其它线程照样可以同时访问相同类的另一个对象实例中的synchronized方法; 2)是某个类的... 阅读全文
摘要:
synchronized的一个简单例子public classTextThread {/** * @param args */public static void main(String[] args) {// TODO 自动生成方法存根 TxtThread tt = new TxtThread(); new Thread(tt).start(); new Thread(tt).start(); new Thread(tt).start(); new Thread(tt).start();}}class TxtThread implements Runnable{int num = 100;S 阅读全文
摘要:
package aa;import java.util.Random;public class DownThread extends Thread { private boolean runFlag; public boolean isRunFlag() { returnrunFlag; } public DownThread(){ System.out.println(this.getName()+"初始化"); this.setRunFlag(false); } public synchronized void setRunFlag(boolean runFlag) { 阅读全文
摘要:
java thread代码 package threadgroup; class ThreadDemo3 extends Thread { private String name; private int delay; public ThreadDemo3(String sname, int i_delay) { name = sname; delay = i_delay; } public void run() { try { sleep(delay); } catch (InterruptedException e) { } System.out.println("多线程测试!\ 阅读全文
摘要:
类DownLoad,main类import java.awt.Color;import java.awt.Dimension;import java.awt.Point;import java.awt.Rectangle;import java.awt.TextArea;import javax.swing.JButton;import javax.swing.JCheckBox;import javax.swing.JComboBox;import javax.swing.JFileChooser;import javax.swing.JFrame;import javax.swing.JL 阅读全文
摘要:
线程的同步 由于同一进程的多个线程共享同一片存储空间,在带来方便的同时,也带来了访问冲突这个严重的问题。Java语言提供了专门机制以解决这种冲突,有效避免了同一个数据对象被多个线程同时访问。由于我们可以通过 private 关键字来保证数据对象只能被方法访问,所以我们只需针对方法提出一套机制,这套机制就是 synchronized 关键字,它包括两种用法:synchronized 方法和 synchronized 块。1. synchronized 方法:通过在方法声明中加入 synchronized关键字来声明 synchronized 方法。如: Java代码 publicsynchr 阅读全文
摘要:
因为这是一段javascript代码,所以它们应该放在之间。是对一些版本低的浏览器起作用,在这些老浏览器中如果不支持javascript,不会将标签中的代码作为文本显示出来。 Window.open ('page.html')用于控制弹出新的窗口page.html,如果page.html不与主窗口在同一路径下,前面应写明路径,绝对路径(错误!超链接引用无效。)和相对路径(../)均可。用单引号和双引号都可以,只是不要混用。 这一段代码可以加入HTML的任意位置,加入到和之间也可以,位置越靠前执行越早,尤其是页面代码较长时,又想使页面早点弹出就尽量往前放。 【经过设置后的弹出窗口 阅读全文