/**
* @author linxu
* @date 2019
* tips:
* 1、交替列印,根據構造器構造的n,構造乙個交替任務執行器。
* 2、假如n=1,則列印12,假如n=2.則列印1212。
* 3、效率第一,可有多種解法,適當加分。
*/static
class
printordered
public
void
one(
)throws interruptedexception
}public
void
two(
)throws interruptedexception }}
//main方法內容不允許修改
public
static
void
main
(string[
] args)
throws interruptedexception
catch
(interruptedexception e)};
runnable r2 =()
->
catch
(interruptedexception e)};
thread t=
newthread
(r1)
; thread t1=
newthread
(r2)
;//keep sync
thread.
sleep
(100);
//start
t.start()
; t1.
start()
;}
//使用自旋解法,可以採用volatile加速自旋解鎖速度。
static
class
printordered
public
void
one(
)throws interruptedexception
system.out.
print
("1");
flag=
false;}
}public
void
two(
)throws interruptedexception
system.out.
print
("2");
flag=
true;}
}}
//使用阻塞佇列解法。
static
class
printordered
public
void
one(
)throws interruptedexception
}public
void
two(
)throws interruptedexception
}}
//重入鎖解法
static
class
printordered
public
void
one(
)throws interruptedexception
system.out.
print
("1");
flag++
; condition2.
signal()
;}finally
// twoqueue.put(i);}}
public
void
two(
)throws interruptedexception
system.out.
print
("2");
flag--
; condition1.
signal()
;}finally
// onequeue.put(i);}}
}public
static
void
main
(string[
] args)
throws interruptedexception
catch
(interruptedexception e)};
runnable r2 =()
->
catch
(interruptedexception e)};
thread t=
newthread
(r1)
; thread t1=
newthread
(r2)
;//keep sync
thread.
sleep
(100);
//start
t.start()
; t1.
start()
;}
關於多執行緒的一道題目
題目大意 有四個執行緒,每個執行緒輸出1,2,3,4,設計程式使得依次輸出 1111222233334444 求解思路 建立乙個物件o,當四個執行緒依次輸出1後,檢測已經輸出的次數count,如果輸出次數為1,2,3,那麼讓執行緒進入物件o的等待集,如果為4,那麼喚醒o中等待集中所有執行緒並將cou...
一道this的題目
請問下面 中的this值指向的是全域性物件還是物件o?function f return c var o new f console.log o.constructor.name object這裡的this指向全域性物件,因為 c call without new。這裡用正常的方式呼叫的函式 c 所...
一道題目 intel
從序列中找四個四字子串形成十進位制數使之乘積最大 就是求四個最大的?我目前只想到如下辦法。這個題並不是關於複雜的演算法,其本意是要利用並行處理,但目前尚未考慮到 除了其中比較求最小值部分有希望用simd include int g teststring int main void int picke...