學(xué)習(xí)博客
BlogJava
首頁(yè)
新文章
新隨筆
聚合
管理
[導(dǎo)入]多線(xiàn)程例子,傳數(shù)據(jù)|軟件開(kāi)發(fā)|轉(zhuǎn)自博客園
用回調(diào)方法檢索數(shù)據(jù)
下面的示例演示了一個(gè)從線(xiàn)程中檢索數(shù)據(jù)的回調(diào)方法。包含數(shù)據(jù)和線(xiàn)程方法的類(lèi)的構(gòu)造函數(shù)也接受代表回調(diào)方法的委托;
在線(xiàn)程方法結(jié)束前,它調(diào)用該回調(diào)委托。
*/
using
System;
using
System.Threading;
//
被實(shí)例化的類(lèi),用于傳遞參數(shù)進(jìn)行操作
public
class
ThreadWithState
{
private
string
boilerplate;
private
int
value;
//
定義一個(gè)回調(diào)函數(shù)
private
ExampleCallback callback;
//
接收線(xiàn)程傳遞的參數(shù)
public
ThreadWithState(
string
text,
int
number, ExampleCallback callbackDelegate)
{
boilerplate
=
text;
value
=
number;
callback
=
callbackDelegate;
}
public
void
ThreadProc()
{
Console.WriteLine(boilerplate, value);
//
判斷是否執(zhí)行回調(diào)函數(shù)、并把參數(shù)傳遞給回調(diào)函數(shù)
if
(callback
!=
null
)
callback(
1
);
}
}
//
聲明一個(gè)回調(diào)函數(shù):注意傳遞的參數(shù)要與Example類(lèi)中的函數(shù)參數(shù)類(lèi)型一致
public
delegate
void
ExampleCallback(
int
lineCount);
//
事例主類(lèi)
public
class
Example
{
public
static
void
Main()
{
//
實(shí)例化ThreadWithState,并傳遞參數(shù),注意:new ExampleCallback(ResultCallback)的命名空間引用,及其傳遞的參數(shù)(ResultCallback函數(shù))
ThreadWithState tws
=
new
ThreadWithState(
"
This number {0}.
"
,
42
,
new
ExampleCallback(ResultCallback));
Thread t
=
new
Thread(
new
ThreadStart(tws.ThreadProc));
t.Start();
Console.WriteLine(
"
線(xiàn)程開(kāi)始執(zhí)行
"
);
//
此為判斷線(xiàn)程是否執(zhí)行結(jié)束,但不建議阻塞線(xiàn)程,這樣線(xiàn)程就會(huì)等待完成后再進(jìn)行其他操作
//
可利用:t.IsAlive是否處于執(zhí)行狀態(tài)來(lái)判斷線(xiàn)程
t.Join();
Console.WriteLine(
"
線(xiàn)程執(zhí)行結(jié)束
"
);
}
//
回調(diào)處理函數(shù),應(yīng)與ExampleCallback的參數(shù)類(lèi)型應(yīng)一致
public
static
void
ResultCallback(
int
lineCount)
{
Console.WriteLine(
"
printed {0} lines.
"
, lineCount);
}
}
向線(xiàn)程傳遞數(shù)據(jù)
/**/
/*
向線(xiàn)程傳遞數(shù)據(jù)
ThreadStart 委托既沒(méi)有參數(shù)也沒(méi)有返回值。這意味著不可以使用需要參數(shù)的方法啟動(dòng)線(xiàn)程,或從方法中獲得返回值。
為向線(xiàn)程傳遞數(shù)據(jù),需要?jiǎng)?chuàng)建一個(gè)用來(lái)保持?jǐn)?shù)據(jù)和線(xiàn)程方法的對(duì)象,如下面的兩個(gè)代碼示例所示。
為檢索線(xiàn)程方法的結(jié)果,您可以使用回調(diào)方法,如第二個(gè)代碼示例中所示。
*/
using
System;
using
System.Threading;
//
被實(shí)例化的類(lèi),用于傳遞參數(shù)進(jìn)行操作
public
class
ThreadWithState
{
private
string
boilerplate;
private
int
value;
public
ThreadWithState(
string
text,
int
number)
{
boilerplate
=
text;
value
=
number;
}
public
void
ThreadProc()
{
Console.WriteLine(boilerplate, value);
}
}
//
創(chuàng)建線(xiàn)程調(diào)用ThreadWithState
public
class
Example
{
public
static
void
Main()
{
//
實(shí)例化類(lèi)ThreadWithState,利用構(gòu)造函數(shù)向線(xiàn)程傳遞參數(shù)
ThreadWithState tws
=
new
ThreadWithState(
"
This number {0}.
"
,
42
);
//
創(chuàng)建線(xiàn)程并執(zhí)行ThreadWithState類(lèi)中的ThreadProc函數(shù)
Thread t
=
new
Thread(
new
ThreadStart(tws.ThreadProc));
t.Start();
Console.WriteLine(
"
線(xiàn)程開(kāi)始執(zhí)行
"
);
//
此為判斷線(xiàn)程是否執(zhí)行結(jié)束,但不建議阻塞線(xiàn)程,這樣線(xiàn)程就會(huì)等待完成后再進(jìn)行其他操作
//
可利用:t.IsAlive是否處于執(zhí)行狀態(tài)來(lái)判斷線(xiàn)程
t.Join();
Console.WriteLine(
"
線(xiàn)程執(zhí)行結(jié)束
"
);
}
}
文章來(lái)源:
http://www.cnblogs.com/wangdetian168/archive/2008/12/21/1359255.html
posted on 2010-09-28 10:54
sanmao
閱讀(74)
評(píng)論(0)
編輯
收藏
新用戶(hù)注冊(cè)
刷新評(píng)論列表
只有注冊(cè)用戶(hù)
登錄
后才能發(fā)表評(píng)論。
網(wǎng)站導(dǎo)航:
博客園
IT新聞
Chat2DB
C++博客
博問(wèn)
管理
常用鏈接
我的隨筆
我的評(píng)論
我的參與
最新評(píng)論
留言簿
(5)
給我留言
查看公開(kāi)留言
查看私人留言
隨筆分類(lèi)
myeclipse(2)
水晶報(bào)表
隨筆檔案
2018年10月 (1)
2017年11月 (1)
2015年6月 (1)
2015年1月 (1)
2014年11月 (1)
2014年7月 (1)
2014年3月 (2)
2013年12月 (3)
2013年11月 (2)
2013年10月 (1)
2013年9月 (2)
2013年8月 (1)
2013年6月 (3)
2013年4月 (1)
2013年3月 (2)
2013年2月 (1)
2013年1月 (4)
2012年12月 (4)
2012年10月 (1)
2012年9月 (6)
2012年8月 (1)
2012年4月 (1)
2012年3月 (1)
2012年2月 (9)
2011年12月 (6)
2011年10月 (1)
2011年9月 (5)
2011年8月 (18)
2011年7月 (12)
2011年6月 (11)
2011年5月 (12)
2011年4月 (15)
2011年3月 (25)
2011年2月 (14)
2011年1月 (19)
2010年12月 (24)
2010年11月 (60)
2010年10月 (85)
2010年9月 (197)
2010年8月 (27)
2010年7月 (26)
2010年6月 (2)
2010年5月 (4)
2010年4月 (4)
2010年3月 (11)
2010年2月 (4)
2010年1月 (6)
2009年12月 (8)
2009年11月 (7)
2009年10月 (4)
2009年9月 (6)
2009年8月 (4)
2009年7月 (14)
2009年6月 (35)
2009年4月 (36)
2009年3月 (48)
2009年2月 (21)
2009年1月 (12)
搜索
最新評(píng)論
1.?re: 解決方法:An error occurred on the server when processing the URL. Please contact the system administrator
太謝謝你了 服務(wù)器搞了幾天了 網(wǎng)上搜索一大堆 加個(gè)端口 就OK了 郁悶!~
--謝謝你
2.?re: PowerDesigner使用教程|使用方法
評(píng)論內(nèi)容較長(zhǎng),點(diǎn)擊標(biāo)題查看
--RYJ
3.?re: PowerDesigner使用教程|使用方法
大愛(ài)樓主啊~
--RYJ
4.?re: 連續(xù)循環(huán)向上滾動(dòng)代碼
恭喜快捷付一卡通張先生借款202522,成功打入卡中
--啥都吃
5.?re: jquery-1.5.2.min js下載
好
--啊啊啊
6.?re: 解決方法:An error occurred on the server when processing the URL. Please contact the system administrator
幫我解開(kāi)
--段秀林
7.?企業(yè)班組長(zhǎng)管理證書(shū)
查找證書(shū)
--朱培義
8.?re: Oracle 11g 下載|Oracle 11g 官網(wǎng)下載|Oracle 11g 官網(wǎng)下載 帶登錄用戶(hù)和密碼
樓主你那賬號(hào)好像登不了
--學(xué)咖妃的菜鳥(niǎo)
9.?re: ORACLE 10g下載|ORACLE 10g下載地址|ORACLE 10g官網(wǎng)下載地址[未登錄](méi)
感謝樓主 現(xiàn)在oracle10G 實(shí)在不好找了 感謝分享這么全的 一文在手 天下我有
--wj
10.?re: 解決方法:An error occurred on the server when processing the URL. Please contact the system administrator[未登錄](méi)
ssss
--s
11.?re: jquery ui dialog|popup 彈出窗口層
單獨(dú)的
--單獨(dú)的
12.?re: jquery ui dialog|popup 彈出窗口層
出錯(cuò)的vV熱情
--單獨(dú)的
13.?re: [導(dǎo)入]MyEclipse 8.5 M1注冊(cè)碼|MyEclipse 8.5 M2注冊(cè)碼
asdf
--潘坤
14.?re: PowerDesigner使用教程|使用方法[未登錄](méi)
第二個(gè) 畫(huà)圖的工具怎么點(diǎn)出來(lái)啊
--1
15.?re: 水晶報(bào)表的顯示報(bào)表數(shù)據(jù)[未登錄](méi)
123456
--123
16.?re: PowerDesigner使用教程|使用方法
學(xué)的很好啊,謝謝樓主
--四海驕陽(yáng)
17.?re: Ext.grid.GridPanel |屬性|方法|配置|詳細(xì)介紹
asdf
--asdf
18.?re: oracle 12c 下載|oracle 12c 官網(wǎng)下載帶用戶(hù)名密碼|oracle 12c for windows64下載
登錄不了啊
--Stevies
19.?re: oracle 12c 下載|oracle 12c 官網(wǎng)下載帶用戶(hù)名密碼|oracle 12c for windows64下載
謝謝!
--Stevies
20.?re: oracle 12c 下載|oracle 12c 官網(wǎng)下載帶用戶(hù)名密碼|oracle 12c for windows64下載
謝謝,有Linux的就更好了
--oracle
21.?re: Oracle 11g 下載|Oracle 11g 官網(wǎng)下載|Oracle 11g 官網(wǎng)下載 帶登錄用戶(hù)和密碼[未登錄](méi)
現(xiàn)在怎么不能下載了
--1
22.?re: PowerDesigner使用教程|使用方法
學(xué)習(xí)了~
--RYJ
23.?re: PowerDesigner使用教程|使用方法[未登錄](méi)
@haha
好的,不錯(cuò)
--test
24.?re: oracle 12c 下載|oracle 12c 官網(wǎng)下載帶用戶(hù)名密碼|oracle 12c for windows64下載[未登錄](méi)
謝謝博主,謝謝各位
--java
25.?re: PowerDesigner使用教程|使用方法
謝謝樓主的分享,非常感謝
--kz
26.?re: PowerDesigner使用教程|使用方法
學(xué)習(xí)了
--rommr
27.?re: jquery ui dialog|popup 彈出窗口層[未登錄](méi)
11
--1
28.?re: 留言框代碼
人發(fā)發(fā)是否飛灑發(fā)放發(fā)送法爾范薩芬
--安安
29.?re: PowerDesigner使用教程|使用方法
請(qǐng)問(wèn)下樓主 我用腳本反向生成model 怎么講腳本里面的comment在model里面也有(我用的是DB29.1)。
--anuous
30.?re: ORACLE 10g下載|ORACLE 10g下載地址|ORACLE 10g官網(wǎng)下載地址
樓主真是個(gè)好人
--zero_cool
31.?re: 在分析向此請(qǐng)求提供服務(wù)所需資源時(shí)出錯(cuò)。請(qǐng)檢查下列特定分析錯(cuò)誤詳細(xì)信息并適當(dāng)?shù)匦薷脑次募未登錄](méi)
評(píng)論內(nèi)容較長(zhǎng),點(diǎn)擊標(biāo)題查看
--周周
32.?re: 清華it證書(shū)查詢(xún)網(wǎng)
結(jié)業(yè)證書(shū)
--嚴(yán)定美
33.?re: 獲取域名的正則表達(dá)式
www.baidu.com/music
--yj
34.?re: PowerDesigner使用教程|使用方法[未登錄](méi)
very good
--...
35.?re: ORACLE 10g下載|ORACLE 10g下載地址|ORACLE 10g官網(wǎng)下載地址
太感謝分享個(gè)賬戶(hù)來(lái)下載軟件了。謝謝
--ChurKen
36.?re: oracle 12c 下載|oracle 12c 官網(wǎng)下載帶用戶(hù)名密碼|oracle 12c for windows64下載
謝謝博主了,超級(jí)感謝
--#r
37.?re: oracle 12c 下載|oracle 12c 官網(wǎng)下載帶用戶(hù)名密碼|oracle 12c for windows64下載[未登錄](méi)
謝謝博主,賬號(hào)分享超級(jí)給力,也謝謝樓上各位沒(méi)有改密碼,讓大家都能用、、、
--葉
38.?re: q寵寶貝卸載|怎么卸載
太煩人了
--莜何
39.?re: Oracle 11g 下載|Oracle 11g 官網(wǎng)下載|Oracle 11g 官網(wǎng)下載 帶登錄用戶(hù)和密碼
THANKS!
--666
40.?re: web打印控件|打印預(yù)覽[未登錄](méi)
11111111111111111111111111111111111111
--111
閱讀排行榜
1.?ORACLE 10g下載|ORACLE 10g下載地址|ORACLE 10g官網(wǎng)下載地址(559778)
2.?Oracle 11g 下載|Oracle 11g 官網(wǎng)下載|Oracle 11g 官網(wǎng)下載 帶登錄用戶(hù)和密碼(274011)
3.?PowerDesigner使用教程|使用方法(138606)
4.?jquery js 下載|jquery-1.4.2 下載|jquery最新版本下載(78507)
5.?解決方法:An error occurred on the server when processing the URL. Please contact the system administrator(50556)
6.?完全卸載oracle|oracle卸載|徹底卸載oracle(22857)
7.?oracle 12c 下載|oracle 12c 官網(wǎng)下載帶用戶(hù)名密碼|oracle 12c for windows64下載(21538)
8.?Ext.grid.GridPanel |屬性|方法|配置|詳細(xì)介紹(18258)
9.?杭州市民卡領(lǐng)取查詢(xún)網(wǎng)址(17576)
10.?讓iframe 100%填充頁(yè)面代碼|100% height|100% width(11839)
11.?js Array 方法|js Array 方法使用(11423)
12.?VS2010下載|官網(wǎng)|Microsoft Visual Studio 2010 (VS2010)旗艦版下載地址(8689)
13.?ORACLE 9i下載|ORACLE 9i下載地址|ORACLE 9i官網(wǎng)下載地址(8610)
14.?bat 批處理 字符串 替換函數(shù) 和 字符串截取函數(shù)(6943)
15.?[導(dǎo)入]showModalDialog參數(shù)詳解|使用方法(6652)
16.?sqlserver sql語(yǔ)句|經(jīng)典sql語(yǔ)句|實(shí)用sql語(yǔ)句(6572)
17.?如何區(qū)分大盤(pán)股還是小盤(pán)股|定義(6395)
18.?vs2010破解|vs2010破解方法|vs2010破解序列號(hào)(6265)
19.?plsql8下載|plsql8最新版下載|plsql下載(5992)
20.?Compaq 511系列 顯卡驅(qū)動(dòng) 聲卡驅(qū)動(dòng) 網(wǎng)卡驅(qū)動(dòng)(5792)
21.?STacSV.exe應(yīng)用程序錯(cuò)誤|STacSV.exe應(yīng)用程序錯(cuò)誤解決方法(5528)
22.?vs2005下載|中文版|官方(5506)
23.?JS 設(shè)置文本框只讀(5488)
24.?jquery ui dialog|popup 彈出窗口層(5382)
25.?在分析向此請(qǐng)求提供服務(wù)所需資源時(shí)出錯(cuò)。請(qǐng)檢查下列特定分析錯(cuò)誤詳細(xì)信息并適當(dāng)?shù)匦薷脑次募?4898)
26.?蘇州汽車(chē)南站到上海汽車(chē)|價(jià)格|時(shí)刻表(4455)
27.?rasdial 命令|網(wǎng)絡(luò)連接自動(dòng)化與 rasdial 命令(4107)
28.?schema.ini詳解 和 字段類(lèi)型介紹(4046)
29.?myeclipse 9 序列號(hào)(3690)
30.?jquery 下載|jquery 1.6.2 min 版下載(3651)
31.?q寵寶貝卸載|怎么卸載(3593)
32.?sqlserver 2008 r2下載地址|官網(wǎng)下載地址|迅雷下載地址(3566)
33.?PowerDesign最新版下載|PowerDesign15下載|PowerDesign15即破解補(bǔ)丁|PowerDesigner 12.5 下載(3463)
34.?sqllite 管理工具和查詢(xún)工具(3220)
35.?國(guó)外軟件外包項(xiàng)目網(wǎng)站(3186)
36.?jquery 篩選元素方法(3126)
37.?js 跨域訪(fǎng)問(wèn) 找了好長(zhǎng)時(shí)間(3109)
38.?vs2008下載|vs2008中文版下載(3034)
39.?java 過(guò)濾器配置(2988)
40.?連續(xù)循環(huán)向上滾動(dòng)代碼(2927)
評(píng)論排行榜
1.?ORACLE 10g下載|ORACLE 10g下載地址|ORACLE 10g官網(wǎng)下載地址(131)
2.?杭州市民卡領(lǐng)取查詢(xún)網(wǎng)址(98)
3.?Oracle 11g 下載|Oracle 11g 官網(wǎng)下載|Oracle 11g 官網(wǎng)下載 帶登錄用戶(hù)和密碼(43)
4.?jquery js 下載|jquery-1.4.2 下載|jquery最新版本下載(28)
5.?PowerDesigner使用教程|使用方法(17)
6.?oracle 12c 下載|oracle 12c 官網(wǎng)下載帶用戶(hù)名密碼|oracle 12c for windows64下載(13)
7.?清華it證書(shū)查詢(xún)網(wǎng)(7)
8.?vs2005下載|中文版|官方(5)
9.?留言框代碼(4)
10.?q寵寶貝卸載|怎么卸載(4)
11.?ORACLE 9i下載|ORACLE 9i下載地址|ORACLE 9i官網(wǎng)下載地址(4)
12.?Ext.grid.GridPanel |屬性|方法|配置|詳細(xì)介紹(4)
13.?myeclipse 9 序列號(hào)(4)
14.?java 動(dòng)態(tài)增加控件(3)
15.?解決方法:An error occurred on the server when processing the URL. Please contact the system administrator(3)
16.?sqlserver 2008 r2下載地址|官網(wǎng)下載地址|迅雷下載地址(3)
17.?win7 不能創(chuàng)建文件夾的解決方法(3)
18.?jquery-1.5.2.min js下載(3)
19.?jquery 驗(yàn)證文本框數(shù)字事件|有效|快捷 給控件綁定清楚非數(shù)字事件(3)
20.?jquery ui dialog|popup 彈出窗口層(3)
21.?jquery 注冊(cè)驗(yàn)證例子(2)
22.?杭州絲綢市場(chǎng)|杭州絲綢批發(fā)市場(chǎng)(2)
23.?最新版QQ拼音打字法為什么打出來(lái)的字中間有豎線(xiàn)?(2)
24.?C# 去所有 html標(biāo)簽的代碼|去除html標(biāo)簽代碼(2)
25.?ajax|消息提示框|js獲取html絕對(duì)位置 封裝(2)
26.?js 跨域訪(fǎng)問(wèn) 找了好長(zhǎng)時(shí)間(2)
27.?Excel.dll下載|Excel.dll下載 asp.net|.net 應(yīng)用的 Excel dll 下載(2)
28.?[導(dǎo)入]百度舉報(bào)垃圾網(wǎng)站的網(wǎng)址(2)
29.?JS 設(shè)置文本框只讀(2)
30.?什么是exe 加殼(2)
31.?jquery 實(shí)現(xiàn)文本閃爍功能 (2)
32.?oracle sqlserver mysql隨機(jī)查詢(xún)記錄的sql語(yǔ)句(2)
33.?jquery 下載|jquery 1.6.2 min 版下載(2)
34.?上海公交卡余額查詢(xún)網(wǎng)址(2)
35.?Compaq 511系列 顯卡驅(qū)動(dòng) 聲卡驅(qū)動(dòng) 網(wǎng)卡驅(qū)動(dòng)(2)
36.?數(shù)據(jù)庫(kù)范式|數(shù)據(jù)庫(kù)第一范式|數(shù)據(jù)庫(kù)第二范式(2)
37.?js 返回對(duì)象|js返回多個(gè)值的方法|js如何返回多個(gè)值(2)
38.?jquery返回json類(lèi)型數(shù)據(jù)集合簡(jiǎn)單實(shí)現(xiàn)ajax返回多個(gè)數(shù)據(jù)(1)
39.?上傳圖片類(lèi)代碼(1)
40.?連續(xù)循環(huán)向上滾動(dòng)代碼(1)
Copyright ©2025 sanmao Powered By
博客園
模板提供:
滬江博客
主站蜘蛛池模板:
尼木县
|
泊头市
|
获嘉县
|
曲靖市
|
新乡市
|
清苑县
|
平罗县
|
大冶市
|
金山区
|
浦县
|
辉南县
|
福清市
|
巫溪县
|
拜泉县
|
和田县
|
娱乐
|
丰宁
|
五寨县
|
三门县
|
乐安县
|
南澳县
|
高州市
|
调兵山市
|
芜湖市
|
金秀
|
买车
|
思南县
|
如东县
|
同心县
|
屏边
|
囊谦县
|
梅州市
|
佛教
|
邹平县
|
香河县
|
济源市
|
宁远县
|
迁西县
|
宁陵县
|
平江县
|
康定县
|