如果用加鎖的多執行緒,最好使用redis的分布式鎖代替;(加鎖的多執行緒非常影響效能,可能會導致伺服器卡死,宕機)
1. 繼承thread 無返回值
第一步: 繼承thread
public class person extends thread catch (interruptedexception e)
for (int i = 1; i < 11; i++)
// 執行緒禮讓,暫停當前正在執行的執行緒物件,並執行其他執行緒(讓多個執行緒執行更加和諧)
thread.yield(); }}
第二步:
// 多執行緒執行程式
public static void main(string args) catch (interruptedexception e)
p2.start();
p3.start();
try catch (interruptedexception e)
// thread.currentthread().getname()
system.out.println(thread.currentthread().getname());// main
// 獲取執行緒優先順序(預設為5)
int priority = p1.getpriority();
int priority2 = p2.getpriority();
system.out.println(priority);
system.out.println(priority2);
}
2. 實現runnable 無返回值
第一步: 實現runnable介面
public class person implements runnable }}
第二步:
public static void main(string args)
3. 實現callable有返回值
第一步: 實現callable
/** * 使用多執行緒進行求和, 從1加到任意數字的運算
* * @author wangqinmin
* */
public class mycallable implements callable
@override
public integer call() throws exception
return sum; }}
第二步:
public static void main(string args) throws interruptedexception, executionexception
JAVA多執行緒(一) 建立執行緒的三種方式
程式 program,是乙個靜態概念 指令集 程序 process,是乙個動態概念 由作業系統排程程式 執行緒 thread,是程序中乙個 單一的連續控制流程 在程序內多條執行路徑 是乙個輕量級的執行緒 一 繼承至thread,重寫run 方法 使用執行緒 1.建立子類物件 2.呼叫start 方法...
java多執行緒三種方式
有三種 1 繼承thread類,重寫run函式 建立 class xx extends thread 開啟執行緒 物件.start 啟動執行緒,run函式執行 2 實現runnable介面,重寫run函式 開啟執行緒 thread t new thread 物件 建立執行緒物件 t.start 3 ...
建立多執行緒的三種方式
首先需要理解清楚程式 程序 執行緒 程式 即靜態的 塊 程序 執行中的程序 執行緒 程序的進一部細分,程式的一條執行路徑 第一種 建立乙個類繼承thread,並重寫run 方法 第一種方法 建立乙個繼承thread的子類 class subthread extends thread public c...