asp.net在事件中启动线程来打开一个页面的实现方法
在页面点击一个按钮,其目的是在按钮中做两件事情,一件需要点击按钮马上完成,另一件事情是点击按钮后做其他事情。如果按顺序一次做完感觉特别耗时,下面简单罗列一下。
protected void Button1_Click(object sender, EventArgs e) { Label1.Text = TextBox1.Text; //在这做第一件事情 dowork(); //做完后马上启动线程 System.Threading.Thread thread = new System.Threading.Thread(new System.Threading.ThreadStart(ThreadChild)); thread.Start(); }
线程中处理完后打开一个窗口
public void ThreadChild() { Label2.Text = DateTime.Now.ToString(); //Response.Write(""); //响应http必然报错 //Response.Write("<script>window.open('login.aspx','','');</script>"); //通过注册即可打开窗口 Page.RegisterStartupScript("", "<script>window.open('login.aspx','','');</script>"); }
相关推荐
-
java向多线程中传递参数的三种方法详细介绍
在传统的同步开发模式下,当我们调用一个函数时,通过这个函数的参数将数据传入,并通过这个函数的返回值来返回最终的计算结果.但在多线程的异步开发模式下,数据的传递和返回和同步开发模式有很大的区别.由于线程的运行和结束是不可预料的,因此,在传递和返回数据时就无法象函数一样通过函数参数和return语句来返回数据.本文就以上原因介绍了几种用于向线程传递数据的方法,在下一篇文章中将介绍从线程中返回数据的方法. 欲先取之,必先予之.一般在使用线程时都需要有一些初始化数据,然后线程利用这些数据进行加工处理,并
-
详解Java编程中线程同步以及定时启动线程的方法
使用wait()与notify()实现线程间协作 1. wait()与notify()/notifyAll() 调用sleep()和yield()的时候锁并没有被释放,而调用wait()将释放锁.这样另一个任务(线程)可以获得当前对象的锁,从而进入它的synchronized方法中.可以通过notify()/notifyAll(),或者时间到期,从wait()中恢复执行. 只能在同步控制方法或同步块中调用wait().notify()和notifyAll().如果在非同步的方法里调用这些方法,在
-
C++程序中启动线程的方法
C++11 引入一个全新的线程库,包含启动和管理线程的工具,提供了同步(互斥.锁和原子变量)的方法,我将试图为你介绍这个全新的线程库. 如果你要编译本文中的代码,你至少需要一个支持 C++11 的编译器,我使用的是 GCC 4.6.1,需要使用 -c++0x 或者 -c++11 参数来启用 C++11 的支持. 启动线程 在 C++11 中启动一个线程是非常简单的,你可以使用 std:thread 来创建一个线程实例,创建完会自动启动,只需要给它传递一个要执行函数的指针即可,请看下面这个 Hel
-
浅析Java中线程的创建和启动
前言 线程是一个程序内部的顺序控制流.cpu实际上在一个时间点上,只执行一个.只不过我们把cup分成了多个时间片,由于速度很快,我们看起来像是多个线程.就像你的时间分成几片,这样整体看来做事情有规律,效率就会高,何况是cup呢. 线程的创建和启动: (1)定义Thread类的子类,并重写了该类的run()方法,该run()方法的方法就代表了线程需要完成的任务.因此把run()方法称为线程执行体 (2)创建Thread子类的实例,即创建了线程对象 (3)调用线程对象的start()方法来启动该线程
-
Java多线程的用法详解
1.创建线程 在Java中创建线程有两种方法:使用Thread类和使用Runnable接口.在使用Runnable接口时需要建立一个Thread实例.因此,无论是通过Thread类还是Runnable接口建立线程,都必须建立Thread类或它的子类的实例.Thread构造函数: public Thread( ); public Thread(Runnable target); public Thread(String name); public Thread(Runnable target
-
基于.NET程序默认启动线程数讲解
问:一个.NET程序在运行时到底启动了多少个线程? 答:至少3个. 1.启动CLR并运行Main方法的主线程2.调试器帮助线程3.Finalizer线程 复制代码 代码如下: class Program { static void Main(string[] args) { Console.WriteLine("Main thread: {0}", Thread.CurrentThread.ManagedThreadId); Consol
-
java 实现线程同步的方式有哪些
什么是线程同步? 当使用多个线程来访问同一个数据时,非常容易出现线程安全问题(比如多个线程都在操作同一数据导致数据不一致),所以我们用同步机制来解决这些问题. 实现同步机制有两个方法: 1.同步代码块: synchronized(同一个数据){} 同一个数据:就是N条线程同时访问一个数据. 2. 同步方法: public synchronized 数据返回类型 方法名(){} 就是使用 synchronized 来修饰某个方法,则该方法称为同步方法.对于同步方法而言,无需显示指定同步监视器,同步
-
java启动线程的3种方式对比分析
本文实例为大家分享了java启动线程的方法,供大家参考,具体内容如下 1.继承Thread public class java_thread extends Thread{ public static void main(String args[]) { (new java_thread()).run(); System.out.println("main thread run "); } public synchronized void run() { System.out.prin
-
详解Java多线程编程中线程的启动、中断或终止操作
线程启动: 1.start() 和 run()的区别说明 start() : 它的作用是启动一个新线程,新线程会执行相应的run()方法.start()不能被重复调用. run() : run()就和普通的成员方法一样,可以被重复调用.单独调用run()的话,会在当前线程中执行run(),而并不会启动新线程! 下面以代码来进行说明. class MyThread extends Thread{ public void run(){ ... } }; MyThread mythread = new
-
Python多线程编程(二):启动线程的两种方法
在Python中我们主要是通过thread和threading这两个模块来实现的,其中Python的threading模块是对thread做了一些包装的,可以更加方便的被使用,所以我们使用threading模块实现多线程编程.一般来说,使用线程有两种模式,一种是创建线程要执行的函数,把这个函数传递进Thread对象里,让它来执行:另一种是直接从Thread继承,创建一个新的class,把线程执行的代码放到这个新的 class里. 将函数传递进Thread对象 复制代码 代码如下: ''' Cr
随机推荐
- 详解JavaScript的AngularJS框架中的作用域与数据绑定
- SQL Server 2008中SQL查询语句字段值不区分大小写的问题解决
- 聊一聊JS中this的指向问题
- Linux I/O多路复用详解及实例
- Zend Framework数据库操作方法实例总结
- 打造计数器DIY三步曲(中)
- 零基础写python爬虫之打包生成exe文件
- linux下多个mysql5.7.19(tar.gz)安装图文教程
- 浅析php学习的路线图
- 利用ThinkPHP内置的ThinkAjax实现异步传输技术的实现方法
- JS实现字符串转驼峰格式的方法
- JavaScript分页功能的实现方法
- 浅谈PHP变量作用域以及地址引用问题
- Ajax实现静态刷新页面过程带加载旋转图片
- SQL SERVER数据操作类代码
- 判断对象是否Window的实现代码
- 微软发布12款安全补丁 涉及所有Windows版本
- C#使用ping命令的两个例子
- Java中HashMap和Hashtable及HashSet的区别
- 判断本机office安装版本的方法分享