天天看點

java多線程(java多線程并發程式設計)

Java怎麼實作多線程?

  start(); }}

運作結果為:

Thread 1 = 5

Thread 2 = 5

Thread 3 = 5

Thread 4 = 5

Thread 5 = 5

Thread 1 = 4

Thread 2 = 4

Thread 3 = 4

Thread 4 = 4

Thread 1 = 3

Thread 2 = 3

Thread 5 = 4

Thread 3 = 3

Thread 4 = 3

Thread 1 = 2

Thread 2 = 2

Thread 5 = 3

Thread 3 = 2

Thread 4 = 2

Thread 1 = 1

Thread 2 = 1

Thread 5 = 2

Thread 3 = 1

Thread 4 = 1

Thread 5 = 1

從結果可見,例2能實作多線程的并行處理。

java關于多線程的操作是怎樣的?

  out。println("客戶位址:" + client。getInetAddress());

} catch (IOException e1) {

System。out。println("正在等待客戶");

用戶端代碼,啟動之後便會連接配接伺服器,得到回應之後便會形成socket連接配接

Socket clientsocket = null; 
try { 
clientsocket = new Socket("localhost",4311); 
} catch (UnknownHostException e) { 
// TODO Auto-generated catch block      

什麼是JAVA多線程

利用對象,可将一個程式分割成互相獨立的區域。我們通常也需要将一個程式轉換成多個獨立運作的子任務。

象這樣的每個子任務都叫作一個“線程”(Thread)。編寫程式時,可将每個線程都想象成獨立運作,而且都有自己的專用CPU。一些基礎機制實際會為我們自動分割CPU的時間。我們通常不必關心這些細節問題,是以多線程的代碼編寫是相當簡便的。

這時了解一些定義對以後的學習狠有幫助。“程序”是指一種“自包容”的運作程式,有自己的位址空間。“多任務”作業系統能同時運作多個程序(程式)——但實際是由于CPU分時機制的作用,使每個程序都能循環獲得自己的CPU時間片。但由于輪換速度非常快,使得所有程式好象是在“同時”運作一樣。“線程”是程序内部單一的一個順序控制流。是以,一個程序可能容納了多個同時執行的線程。

//: Counter1.java 
// A non-responsive user interface 
package c14; 
import java.awt.*; 
import java.awt.event.*; 
import java.applet.*; 
public class Counter1 extends Applet { 
private int count = 0; 
private Button 
onOff = new Button("Toggle"), 
start = new Button("Start"); 
private TextField t = new TextField(10); 
private boolean runFlag = true; 
public void init() { 
add(t); 
start.addActionListener(new StartL()); 
add(start); 
onOff.addActionListener(new OnOffL()); 
add(onOff); 
public void go() { 
while (true) { 
try { 
Thread.currentThread().sleep(100); 
} catch (InterruptedException e){} 
if(runFlag) 
t.setText(Integer.toString(count++)); 
class StartL implements ActionListener { 
public void actionPerformed(ActionEvent e) { 
go(); 
class OnOffL implements ActionListener { 
public void actionPerformed(ActionEvent e) { 
runFlag = !runFlag; 
public static void main(String[] args) { 
Counter1 applet = new Counter1(); 
Frame aFrame = new Frame("Counter1"); 
aFrame.addWindowListener( 
new WindowAdapter() { 
public void windowClosing(WindowEvent e) { 
System.exit(0); 
aFrame.add(applet, BorderLayout.CENTER); 
aFrame.setSize(300,200); 
applet.init(); 
applet.start(); 
aFrame.setVisible(true); 
} ///:~      

java中什麼叫做線程?什麼叫多線程?多線程的特點是什麼?