Ajax,利用jQuery的ajaxform
第一步:先增加一个表单
<form id="myForm" action="commentphp" method="post">
Name: <input type="text" name="name" />
Comment: <textarea name="comment"></textarea>
<input type="submit" value="Submit Comment" />
</form>
第二步:jqueryjs和formjs文件的包含
<head>
<script type="text/javascript" src="path/to/jqueryjs"></script>
<script type="text/javascript" src="path/to/formjs"></script>
<script type="text/javascript">
// wait for the DOM to be loaded
$(document)ready(function() {
// bind 'myForm' and provide a simple callback function
$('#myForm')ajaxForm(function() {
alert("Thank you for your comment!");
});
});
</script>
</head>
线程,有时被称为轻量级进程(Lightweight Process,LWP),是程序执行流的最小单元。一个标准的线程由线程ID,当前指令指针(PC),寄存器集合和堆栈组成。
另外,线程是进程中的一个实体,是被系统独立调度和分派的基本单位,线程自己不拥有系统资源,只拥有一点儿在运行中必不可少的资源,但它可与同属一个进程的其它线程共享进程所拥有的全部资源。
一个线程可以创建和撤消另一个线程,同一进程中的多个线程之间可以并发执行。由于线程之间的相互制约,致使线程在运行中呈现出间断性。线程也有就绪、阻塞和运行三种基本状态。
就绪状态是指线程具备运行的所有条件,逻辑上可以运行,在等待处理机;运行状态是指线程占有处理机正在运行;阻塞状态是指线程在等待一个事件(如某个信号量),逻辑上不可执行。每一个程序都至少有一个线程,若程序只有一个线程,那就是程序本身。
线程是程序中一个单一的顺序控制流程。进程内一个相对独立的、可调度的执行单元,是系统独立调度和分派CPU的基本单位指运行中的程序的调度单位。在单个程序中同时运行多个线程完成不同的工作,称为多线程。
同步就是只能A走完某一段然后停下,让B开始走一段再停下,再让A走。。如此往复。简单理解就是,必须是一段程序执行完后才能执行后面的程序。。
异步就是,同一时间可能A和B同时都在往终点赶,此时不存在先后顺序,就是说,两个程序可以同时执行,称为异步。
package TestObserver;
import javautilIterator;
import javautilVector;
/
@author Seastar
/
interface Observed {
public void addObserver(Observer o);
public void removeObserver(Observer o);
public void update();
}
interface Observer {
public void takeAction();
}
class Invoker {
private Observer o;
Handler handler;
public Invoker(Observer o) {
new Handler();
thiso = o;
}
private class Handler extends Thread {
public Handler() {
handler = this;
}
@Override
public void run() {
otakeAction();
}
}
public boolean TestSameObserver(Observer o) {
return o == thiso;
}
public void invoke() {
handlerstart();
}
}
class ObservedObject implements Observed {
private Vector<Invoker> observerList = new Vector<Invoker>();
public void addObserver(Observer o) {
observerListadd(new Invoker(o));
}
public void removeObserver(Observer o) {
Iterator<Invoker> it = observerListiterator();
while (ithasNext()) {
Invoker i = itnext();
if (iTestSameObserver(o)) {
observerListremove(i);
break;
}
}
}
public void update() {
for (Invoker i : observerList) {
iinvoke();
}
}
}
class ObserverA implements Observer {
public void takeAction() {
Systemoutprintln("I am Observer A ,state changed ,so i have to do something");
}
}
class ObserverB implements Observer {
public void takeAction() {
Systemoutprintln("I am Observer B ,i was told to do something");
}
}
class ObserverC implements Observer {
public void takeAction() {
Systemoutprintln("I am Observer C ,I just look ,and do nothing");
}
}
public class Main {
/
@param args the command line arguments
/
public static void main(String[] args) {
ObserverA a = new ObserverA();
ObserverB b = new ObserverB();
ObserverC c = new ObserverC();
ObservedObject oo = new ObservedObject();
ooaddObserver(a);
ooaddObserver(b);
ooaddObserver(c);
for (int i = 0; i < 5; ++i) {
ooaddObserver(new Observer() {
public void takeAction() {
Systemoutprintln("我是山寨观察者"+",谁敢拦我");
}
});
}
//sometime oo changed ,so it calls update and informs all observer
ooupdate();
}
}
观察者模式的精髓在于注册一个观察者观测可能随时变化的对象,对象变化时就会自动通知观察者,
这样在被观测对象影响范围广,可能引起多个类的行为改变时很好用,因为无需修改被观测对象的代码就可以增加被观测对象影响的类,这样的设计模式使得代码易于管理和维护,并且减少了出错几率
至于异步机制实际是个噱头,可以有观测对象来实现异步,也可以有观察者自身实现,这个程序实际是观测对象实现了异步机制,方法是在观察者类外包装了一层invoker类
asynchronous call(异步调用)
一个可以无需等待被调用函数的返回值就让 *** 作继续进行的方法
中文名
异步调用
外文名
asynchronous call
领域
函数
杰作
线程
。
。
快速
导航
实战用法异步调用使用方法
举例
异步调用就是你 喊 你朋友吃饭 ,你朋友说知道了 ,待会忙完去找你 ,你就去做别的了。
同步调用就是你 喊 你朋友吃饭 ,你朋友在忙 ,你就一直在那等,等你朋友忙完了 ,你们一起去。
实战用法
*** 作系统发展到今天已经十分精巧,线程就是其中一个杰作。 *** 作系统把 CPU 处理时间划分成许多短暂时间片,在时间 T1 执行一个线程的指令,到时间 T2又执行下一线程的指令,各线程轮流执行,结果好象是所有线程在并肩前进。这样,编程时可以创建多个线程,在同一期间执行,各线程可以“并行”完成不同的任务。
在单线程方式下,计算机是一台严格意义上的冯·诺依曼式机器,一段代码调用另一段代码时,只能采用同步调用,必须等待这段代码执行完返回结果后,调用方才能继续往下执行。有了多线程的支持,可以采用异步调用,调用方和被调方可以属于两个不同的线程,调用方启动被调方线程后,不等对方返回结果就继续执行后续代码。被调方执行完毕后,通过某种手段通知调用方:结果已经出来,请酌情处理。
你即已学了这么多语言就应该知道:
1、在当前的世界面,要写一个大型的软件,比如游戏、大型网络数据管理等,非一个人的能力所能及。
2、无论什么语言,那都是一种与计算机交道的途径,是让人脱离直接写二进制码的一种方式。
3、几乎所有电脑编程语言都是建筑在别人的编译器的基础上,其中部分生成的程序是真正的二进制码,另一部分是建立在别人的运行环境中的。如java就是建立在别人的运行环境中。
4、java所谓的跨平台,说白了其实也不过是另一个平台有支持其运行的环境而已。
5、对于个人来说,是否学一门语言基于二点:A、工作、生活需要。B、个人兴趣。如果二点你都没有,可以不学,至少你现在可以不学。
6、如果楼主真如你所说,已学过,并基本学过那么多的电脑语言,那么,你应该知道,学一门新的电脑语言,只不过掌握一下它的编写规则、习惯、知道他的主要编译器的一些特点、用法、注意事项罢了。要对付下那些东西,如果不考虑熟记在心的话,最多一个月就可以了。
7、如果你的工作生活经常接触电脑,你可以发现,你的编程知道如果加以运用,其实还是可以给你做些小东西出来玩的。如果工作就是编程,那就更不要说了,那是你吃饭的工具。
PS:好象java和Basic还是比较的象,虽然我没学过java,哈哈。
以上就是关于java 如何实现异步提交全部的内容,包括:java 如何实现异步提交、Java中的线程同步与异步如何理解、求 JAVA 异步观察者模式 的源代码(完整的),不要同步的,好的给加分等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)