學(xué)習(xí)博客
BlogJava
首頁(yè)
新文章
新隨筆
聚合
管理
[導(dǎo)入]多線程例子,傳數(shù)據(jù)|軟件開(kāi)發(fā)|轉(zhuǎn)自博客園
用回調(diào)方法檢索數(shù)據(jù)
下面的示例演示了一個(gè)從線程中檢索數(shù)據(jù)的回調(diào)方法。包含數(shù)據(jù)和線程方法的類(lèi)的構(gòu)造函數(shù)也接受代表回調(diào)方法的委托;
在線程方法結(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;
//
接收線程傳遞的參數(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(
"
線程開(kāi)始執(zhí)行
"
);
//
此為判斷線程是否執(zhí)行結(jié)束,但不建議阻塞線程,這樣線程就會(huì)等待完成后再進(jìn)行其他操作
//
可利用:t.IsAlive是否處于執(zhí)行狀態(tài)來(lái)判斷線程
t.Join();
Console.WriteLine(
"
線程執(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);
}
}
向線程傳遞數(shù)據(jù)
/**/
/*
向線程傳遞數(shù)據(jù)
ThreadStart 委托既沒(méi)有參數(shù)也沒(méi)有返回值。這意味著不可以使用需要參數(shù)的方法啟動(dòng)線程,或從方法中獲得返回值。
為向線程傳遞數(shù)據(jù),需要?jiǎng)?chuàng)建一個(gè)用來(lái)保持?jǐn)?shù)據(jù)和線程方法的對(duì)象,如下面的兩個(gè)代碼示例所示。
為檢索線程方法的結(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)建線程調(diào)用ThreadWithState
public
class
Example
{
public
static
void
Main()
{
//
實(shí)例化類(lèi)ThreadWithState,利用構(gòu)造函數(shù)向線程傳遞參數(shù)
ThreadWithState tws
=
new
ThreadWithState(
"
This number {0}.
"
,
42
);
//
創(chuàng)建線程并執(zhí)行ThreadWithState類(lèi)中的ThreadProc函數(shù)
Thread t
=
new
Thread(
new
ThreadStart(tws.ThreadProc));
t.Start();
Console.WriteLine(
"
線程開(kāi)始執(zhí)行
"
);
//
此為判斷線程是否執(zhí)行結(jié)束,但不建議阻塞線程,這樣線程就會(huì)等待完成后再進(jìn)行其他操作
//
可利用:t.IsAlive是否處于執(zhí)行狀態(tài)來(lái)判斷線程
t.Join();
Console.WriteLine(
"
線程執(zhí)行結(jié)束
"
);
}
}
文章來(lái)源:
http://www.cnblogs.com/wangdetian168/archive/2008/12/21/1359255.html
posted on 2010-10-11 09:28
sanmao
閱讀(282)
評(píng)論(0)
編輯
收藏
新用戶注冊(cè)
刷新評(píng)論列表
只有注冊(cè)用戶
登錄
后才能發(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à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)下載帶用戶名密碼|oracle 12c for windows64下載
登錄不了啊
--Stevies
19.?re: oracle 12c 下載|oracle 12c 官網(wǎng)下載帶用戶名密碼|oracle 12c for windows64下載
謝謝!
--Stevies
20.?re: oracle 12c 下載|oracle 12c 官網(wǎng)下載帶用戶名密碼|oracle 12c for windows64下載
謝謝,有Linux的就更好了
--oracle
21.?re: Oracle 11g 下載|Oracle 11g 官網(wǎng)下載|Oracle 11g 官網(wǎng)下載 帶登錄用戶和密碼[未登錄](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)下載帶用戶名密碼|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ū)查詢網(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è)賬戶來(lái)下載軟件了。謝謝
--ChurKen
36.?re: oracle 12c 下載|oracle 12c 官網(wǎng)下載帶用戶名密碼|oracle 12c for windows64下載
謝謝博主了,超級(jí)感謝
--#r
37.?re: oracle 12c 下載|oracle 12c 官網(wǎng)下載帶用戶名密碼|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)下載 帶登錄用戶和密碼
THANKS!
--666
40.?re: web打印控件|打印預(yù)覽[未登錄](méi)
11111111111111111111111111111111111111
--111
閱讀排行榜
1.?ORACLE 10g下載|ORACLE 10g下載地址|ORACLE 10g官網(wǎng)下載地址(559803)
2.?Oracle 11g 下載|Oracle 11g 官網(wǎng)下載|Oracle 11g 官網(wǎng)下載 帶登錄用戶和密碼(274053)
3.?PowerDesigner使用教程|使用方法(138617)
4.?jquery js 下載|jquery-1.4.2 下載|jquery最新版本下載(78509)
5.?解決方法:An error occurred on the server when processing the URL. Please contact the system administrator(50568)
6.?完全卸載oracle|oracle卸載|徹底卸載oracle(22859)
7.?oracle 12c 下載|oracle 12c 官網(wǎng)下載帶用戶名密碼|oracle 12c for windows64下載(21552)
8.?Ext.grid.GridPanel |屬性|方法|配置|詳細(xì)介紹(18260)
9.?杭州市民卡領(lǐng)取查詢網(wǎng)址(17577)
10.?讓iframe 100%填充頁(yè)面代碼|100% height|100% width(11842)
11.?js Array 方法|js Array 方法使用(11426)
12.?VS2010下載|官網(wǎng)|Microsoft Visual Studio 2010 (VS2010)旗艦版下載地址(8695)
13.?ORACLE 9i下載|ORACLE 9i下載地址|ORACLE 9i官網(wǎng)下載地址(8630)
14.?bat 批處理 字符串 替換函數(shù) 和 字符串截取函數(shù)(6945)
15.?[導(dǎo)入]showModalDialog參數(shù)詳解|使用方法(6654)
16.?sqlserver sql語(yǔ)句|經(jīng)典sql語(yǔ)句|實(shí)用sql語(yǔ)句(6574)
17.?如何區(qū)分大盤(pán)股還是小盤(pán)股|定義(6395)
18.?vs2010破解|vs2010破解方法|vs2010破解序列號(hào)(6266)
19.?plsql8下載|plsql8最新版下載|plsql下載(5993)
20.?Compaq 511系列 顯卡驅(qū)動(dòng) 聲卡驅(qū)動(dòng) 網(wǎng)卡驅(qū)動(dòng)(5795)
21.?STacSV.exe應(yīng)用程序錯(cuò)誤|STacSV.exe應(yīng)用程序錯(cuò)誤解決方法(5529)
22.?vs2005下載|中文版|官方(5509)
23.?JS 設(shè)置文本框只讀(5489)
24.?jquery ui dialog|popup 彈出窗口層(5382)
25.?在分析向此請(qǐng)求提供服務(wù)所需資源時(shí)出錯(cuò)。請(qǐng)檢查下列特定分析錯(cuò)誤詳細(xì)信息并適當(dāng)?shù)匦薷脑次募?4905)
26.?蘇州汽車(chē)南站到上海汽車(chē)|價(jià)格|時(shí)刻表(4455)
27.?rasdial 命令|網(wǎng)絡(luò)連接自動(dòng)化與 rasdial 命令(4109)
28.?schema.ini詳解 和 字段類(lèi)型介紹(4050)
29.?myeclipse 9 序列號(hào)(3690)
30.?jquery 下載|jquery 1.6.2 min 版下載(3651)
31.?q寵寶貝卸載|怎么卸載(3594)
32.?sqlserver 2008 r2下載地址|官網(wǎng)下載地址|迅雷下載地址(3567)
33.?PowerDesign最新版下載|PowerDesign15下載|PowerDesign15即破解補(bǔ)丁|PowerDesigner 12.5 下載(3464)
34.?sqllite 管理工具和查詢工具(3220)
35.?國(guó)外軟件外包項(xiàng)目網(wǎng)站(3187)
36.?jquery 篩選元素方法(3127)
37.?js 跨域訪問(wèn) 找了好長(zhǎng)時(shí)間(3110)
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)取查詢網(wǎng)址(98)
3.?Oracle 11g 下載|Oracle 11g 官網(wǎng)下載|Oracle 11g 官網(wǎng)下載 帶登錄用戶和密碼(43)
4.?jquery js 下載|jquery-1.4.2 下載|jquery最新版本下載(28)
5.?PowerDesigner使用教程|使用方法(17)
6.?oracle 12c 下載|oracle 12c 官網(wǎng)下載帶用戶名密碼|oracle 12c for windows64下載(13)
7.?清華it證書(shū)查詢網(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)的字中間有豎線?(2)
24.?C# 去所有 html標(biāo)簽的代碼|去除html標(biāo)簽代碼(2)
25.?ajax|消息提示框|js獲取html絕對(duì)位置 封裝(2)
26.?js 跨域訪問(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ī)查詢記錄的sql語(yǔ)句(2)
33.?jquery 下載|jquery 1.6.2 min 版下載(2)
34.?上海公交卡余額查詢網(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
博客園
模板提供:
滬江博客
主站蜘蛛池模板:
色噜噜综合亚洲av中文无码
|
亚洲国产中文在线视频
|
久久中文字幕免费视频
|
亚洲av日韩av综合
|
亚洲AV无码一区二三区
|
久久亚洲精品无码aⅴ大香
|
国产四虎免费精品视频
|
午夜在线亚洲男人午在线
|
亚洲av无码一区二区三区不卡
|
国产成人免费网站
|
一级做a爱过程免费视频高清
|
亚洲第一区视频在线观看
|
国产jizzjizz视频全部免费
|
可以免费观看的毛片
|
日韩国产精品亚洲а∨天堂免
|
国产亚洲综合久久系列
|
麻豆国产VA免费精品高清在线
|
男人天堂免费视频
|
亚洲精品成a人在线观看☆
|
亚洲AV综合色区无码一区爱AV
|
免费无码又爽又刺激毛片
|
污污网站18禁在线永久免费观看
|
亚洲色大成网站www永久网站
|
国产成人亚洲综合无码精品
|
日本不卡视频免费
|
亚洲成人免费网址
|
国产午夜不卡AV免费
|
亚洲AV无码一区二区三区电影
|
亚洲AV乱码久久精品蜜桃
|
www.亚洲精品.com
|
最近免费中文字幕大全
|
一级毛片在线免费看
|
国产伦精品一区二区免费
|
99亚洲乱人伦aⅴ精品
|
亚洲国产成a人v在线
|
日产亚洲一区二区三区
|
久久久久亚洲AV成人网人人软件
|
美女被免费视频网站a国产
|
国产男女猛烈无遮挡免费视频
|
伊人免费在线观看高清版
|
亚洲av成人一区二区三区观看在线
|