❶ java中如何1s鍾開啟100個線程
讓你開啟線程的那個主線程休眠1秒:
for(int i=1;i<=100;i++)
{
new Thread(testThread).start();
}
Thread.sleep(1000);
❷ java如何用100個線程跑35000次任務
真會玩,跑35000次任務,電腦都被你玩壞。
可以定義一個線程池,將任務平均分配出去。
❸ 100張票,用java多線程實現3個窗口按順序依次賣票,如何實現
很簡單, 出票里加鎖就行了完整代碼:
publicclassTest{
publicstaticvoidmain(String[]args){
for(inti=0;i<3;i++){
newThread("線程"+i){
publicvoidrun(){
while(true){
intp=getNumber();
if(p>0){
System.out.println(getName()+"票號:"+p);
}else{
System.out.println("沒票了");
break;
}
}
};
}.start();
}
}
publicstaticintnum=100; //總票數
/**
*synchronized同步鎖
*@return
*/
(){
if(num>0){
returnnum--; //如果大於0,則返回當前票並減少一張
}
return0;
}
}
❹ Java 如何創建100個Thread 線程
有兩種創建線程的方法:一是實現runnable介面,然後將它傳遞給thread的構造函數,創建一個thread對象;二是直接繼承thread類。
❺ java 多線程 cpu利用率100%問題,我做了一個程序,10個線程,不到一分鍾,cpu就100%了,怎麼解決。
一般一個cpu核心可以搭載兩個線程,你根據核心去搭載線程,不要亂放線程。
還有你有10個線程同時跑耗時操作最少也要4核的cpu,你可以減少線程或者減少線程中的耗時操作。
如果你是解碼或者壓縮程序的話那麼cpu100%也很正常,如果是socket網路連接你可以看看windows iocp,linux epoll的實現。
❻ java 線程同步求和(100分)
// 你看看吧。。。 不懂的在問我
public class Test implements Runnable {
public static void main(String[] args) {
for (int i = 0; i < 100; i++) { // 創建100個線程
Test line = new Test();
Thread t = new Thread(line, i + "");
t.start();
}
}
public void run() { // 線程
for (int i = 0; i < 10; i++) { //每條線程輸出的次數 如果你是10次 100個線程,如果同步,sum 應該是1000
try {
sum.list();
Thread.sleep(100);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}
class sum {
static Integer sum = 0;
public synchronized static void list() { //synchronized 代表線程同步, 如果去掉.就會不同步
sum++;
System.out.println("我是線程" + Thread.currentThread().getName()
+ " sum--------->" + sum);
}
}
❼ java定義一個線程類,循環執行100次輸出語句,每次輸出線程名和循環的次數
思路: 創建線程繼承線程類或者實現線程介面
重寫RUN方法 在RUN方法裡面寫FOR循環, 循環語句塊中列印線程類的靜態方法.currentThread().getName() +循環的自增值。 ,主線程創建自定義對象實例。 調用START()方法OK、。
❽ java中實現runnable介面多線程技術,用五個線程,生成100個1到1000的隨機數
//純手打希望採納:)
publicclassMain
{
privatestaticintnum=1;
publicstaticvoidmain(String[]args)
{
Threada=newThread(newRandomRunnable("A"));
Threadb=newThread(newRandomRunnable("B"));
Threadc=newThread(newRandomRunnable("C"));
Threadd=newThread(newRandomRunnable("D"));
Threade=newThread(newRandomRunnable("E"));
a.start();
b.start();
c.start();
d.start();
e.start();
}
publicstaticvoidadd(Stringname)
{
synchronized(Main.class)
{
if(num<101)
{
System.out.println("線程"+name+"隨機數:"
+(1+(int)(Math.random()*1000)+" "+num));
num++;
}
}
}
publicstaticintgetNum()
{
returnnum;
}
}
{
privateStringname;
publicRandomRunnable(Stringname)
{
this.name=name;
}
publicvoidrun()
{
while(Main.getNum()<101)
{
Main.add(name);
}
}
}
❾ Java 如何創建100個Thread 線程
「創建100個線程」和「創建1個線程」是一樣的。
(如果不一樣,只可能是你問得唐突、不清晰)
你可以把100個線程放到一個數組中。
Thread threads[]=new Thread[100];
//然後逐個生成啟動
for(int i=0;i<100;i++){
threads[i]=new Thread(//put some runnable here );
threads[i].start();
}