2009-09-24 57 views
1

有人可以給我一個關於android中的Thread的「簡單」定義。我閱讀了Android站點上的定義,但我很難想象!什麼是線程(java,android)?

+0

你能更具體嗎?你無法想象什麼? – 2009-09-24 03:21:30

+3

Android上的線程與任何其他平臺/編程語言中的線程相同。也許維基百科可以讓你開始線程。 – 2009-09-24 03:25:06

+0

我讀了一本書名「Java for Dummies」。定義被描述爲易於理解(但沒有線程)。 – Dennie 2009-09-24 03:42:24

回答

2

你聽起來像你可以使用半真實世界的例子。 Google透露了這個handy blog post

有關一般參考(如mikem建議),請參閱Wikipedia:Thread。線程在每個框架中都幾乎相同。

0

Android的線程模型有些不同,他們推薦使用AsyncTask。閱讀AsyncTask文檔。這就像一個線程。

+0

看到這些類型的功能很常見,因爲線程*可能很難正確使用 - .Net有它的BackGroundWorker,它本質上是一個線程的包裝類,它抽象出線程管理的一些細節。也就是說,通過這種方式簡化線程也使得更難做到更高級的事情:AsyncTask只能在主UI線程上創建,並且只能運行一次。這完全取決於你想要達到的目標。 – 2009-09-25 22:23:54

2

一個線程可以通過描繪線程(lolz)來最好地想象。 可以說你已經制作了一個程序來在屏幕上顯示一些文本。 現在,當您運行程序時,所有的代碼執行都會發生在一條虛線(線程)上。

現在您擴展您的程序,每10秒在屏幕上放置一行新文本。 有幾種選擇:

1:製作一個while循環並在循環中顯示文本並使程序停止(睡眠)執行10秒。 令人討厭的副作用是,在每10秒的持續時間內,您無法與程序進行交互(因爲線程正在休眠)。 這不是你想要的:)

2:用一個while循環做一個新的線程,顯示屏幕上的文本,並使線程每10秒鐘休眠一次。現在,因爲這第二個線程處於休眠狀態,持續10秒,你仍然可以使用你的第一個主線程交互:)

教程: http://www.javabeginner.com/learn-java/java-threads-tutorial

好運氣,可以在源與你同在。