A. DOS命令-多線程問題
創建多個文件夾
如果你需要在某個目錄下分別創建名稱為「a」、「b」、「c」、「d」的4個文件夾,那麼你只需要將目錄定位到該文件夾,再將上面的命令修改為「md a b c d」命令即可(注意「a」、「b」、「c」、「d」字母前各有一個半形空格鍵)。
當然,你也可以直接輸入目錄來執行改命令,如「md f:\a f:\b」,這樣就會在F盤下分別建立名字為「a」和「b」的兩個文件夾。
B. linux如何進行線程管理
方法一:PS
在ps命令中,「-T」選項可以開啟線程查看。下面的命令列出了由進程號為<pid>的進程創建的所有線程。
1.$ ps -T -p <pid>
「SID」欄表示線程ID,而「CMD」欄則顯示了線程名稱。
方法二: Top
top命令可以實時顯示各個線程情況。要在top輸出中開啟線程查看,請調用top命令的「-H」選項,該選項會列出所有Linux線程。在top運行時,你也可以通過按「H」鍵將線程查看模式切換為開或關。
1.$ top -H
要讓top輸出某個特定進程<pid>並檢查該進程內運行的線程狀況:
$ top -H -p <pid>
C. 怎樣暫時停止一個thread,然後我給一個命令thread繼續
樓主參考這個
解釋很詳細了
java code?
JAVA 線程很好的例子
import java.io.*;
//多線程編程
public class MultiThread{
public static void main(String args[]){
System.out.println("我是主線程!";
//下面創建線程實例thread1
ThreadUseExtends thread1=new ThreadUseExtends();
//創建thread2時以實現了Runnable介面的ThreadUseRunnable類實例為參數
Thread thread2 = new Thread(new ThreadUseRunnable(),"SecondThread";
thread1.start();//啟動線程thread1使之處於就緒狀態
//thread1.setPriority(6);//設置thread1的優先順序為6
//優先順序將決定cpu空出時,處於就緒狀態的線程誰先佔領cpu開始運行
//優先順序范圍1到10,MIN_PRIORITY,MAX_PRIORITY,NORM_PAIORITY
//新線程繼承創建她的父線程優先順序,父線程通常有普通優先順序即5NORM_PRIORITY
System.out.println("主線程將掛起7秒!";
try{
Thread.sleep(7000);//主線程掛起7秒
}catch (InterruptedException e){
return;
}
System.out.println("又回到了主線程!";
if(thread1.isAlive()){
thread1.stop();//如果thread1還存在則殺掉他
System.out.println("thread1休眠過長,主線程殺掉了thread1!";
}else
System.out.println("主線程沒發現thread1,thread1已醒順序執行結束了!";
thread2.start();//啟動thread2
System.out.println("主線程又將掛起7秒!";
try{
Thread.sleep(7000);//主線程掛起7秒
}catch (InterruptedException e){
return;
}
System.out.println("又回到了主線程!";
if(thread2.isAlive()){
thread2.stop();//如果thread2還存在則殺掉他
System.out.println("thread2休眠過長,主線程殺掉了thread2!";
}else
System.out.println("主線程沒發現thread2,thread2已醒順序執行結束了!";
System.out.println("程序結束按任意鍵繼續!");
try{
System.in.read();
}catch (IOException e){
System.out.println(e.toString());
}
}//main
}//MultiThread
class ThreadUseExtends extends Thread{
//通過繼承Thread類,並實現它的抽象方法run()
//適當時候創建這一Thread子類的實例來實現多線程機制
//一個線程啟動後(也即進入就緒狀態)一旦獲得CPU將自動調用它的run()方法
ThreadUseExtends(){}//構造函數
public void run(){
System.out.println("我是Thread子類的線程實例!");
System.out.println("我將掛起10秒!");
System.out.println("回到主線程,請稍等,剛才主線程掛起可能還沒醒過來!");
try{
sleep(10000);//掛起5秒
}catch (InterruptedException e){
return;
}
//如果該run()方法順序執行完了,線程將自動結束,而不會被主線程殺掉
//但如果休眠時間過長,則線程還存活,可能被stop()殺掉
}
}
class ThreadUseRunnable implements Runnable{
//通過實現Runnable介面中的run()方法,再以這個實現了run()方法的類
//為參數創建Thread的線程實例
//Thread thread2=new Thread(this);
//以這個實現了Runnable介面中run()方法的類為參數創建Thread類的線程實例
ThreadUseRunnable(){}//構造函數
public void run(){
System.out.println("我是Thread類的線程實例並以實現了Runnable介面的類為參數!");
System.out.println("我將掛起1秒!");
System.out.println("回到主線程,請稍等,剛才主線程掛起可能還沒醒過來!");
try{
Thread.sleep(1000);//掛起5秒
}catch (InterruptedException e){
return;
}
//如果該run()方法順序執行完了,線程將自動結束,而不會被主線程殺掉
//但如果休眠時間過長,則線程還存活,可能被stop()殺掉
}
}
//該程序可做的修改如改休眠時間或優先順序setPriority()
D. 查詢windows線程數的命令
FindNextThread32遍歷查找
E. 按鍵精靈多線程命令循環一定時間後終止
線程ID1=BeginThread(a)
線程ID2=BeginThread(b)
Dim n
n=now
Rem q
//腳本15秒後停止
Delay 1000
If DateDiff("s",n,now)>= 15 then
StopThread 線程ID1
StopThread 線程ID2
Else
Goto q
End If
Sub a
Rem q
Delay 1000
Goto q
End Sub
Sub b
Rem q
Delay 1000
Goto q
End Sub
Sub OnScriptExit()
MessageBox "腳本已經停止!"
End Sub
F. 易語言啟動線程()命令怎麼用
啟動線程 (&子程序, , )
前面有個 & 符號
G. 關於JAVA線程的問題,創建若干線程,每個線程都執行同一條命令,求JAVA高手解答
不要採納 謝謝 剛我試了一下 不對
H. 中斷線程用什麼命令
1.打開"中斷服務管理器(任務管理器)"
2.在"進程"選項卡上的"用戶"列下,右鍵單擊要結束的進程,然後單擊"結束進程".
注意:
1.
必須具有完全控制許可權才能結束進程。
2.
要打開「終端服務管理器」,請依次單擊「開始」和「控制面板」,雙擊「管理工具」,然後雙擊「終端服務管理器」。
3.
請注意:在沒有警告的情況下結束進程會導致用戶會話中的數據丟失。
4.
可能需要結束進程,因為應用程序沒有響應。
5.
也可以使用
tskill
命令結束進程。
強制結束進程的命令行
Windows操作系統中只有System、SMSS.EXE和CSRSS.EXE不能殺。前兩個是純內核態的,最後那個是Win32子系統,ntsd本身需要它。ntsd從2000開始就是系統自帶的用戶態調試工具。被調試器附著(attach)的進程會隨調試器一起退出,所以可以用來在命令行下終止進程。使用ntsd自動就獲得了debug許可權,從而能殺掉大部分的進程。ntsd會新開一個調試窗口,本來在純命令行下無法控制,但如果只是簡單的命令,比如退出(q),用-c參數從命令行傳遞就行了。Ntsd按照慣例也向軟體開發人員提供。只有系統開發人員使用此命令。有關詳細信息,請參閱
NTSD
中所附的幫助文件。用法:開個cmd.exe窗口,輸入:
ntsd
-c
q
-p
PID
把最後那個PID,改成你要終止的進程的ID。如果你不知道進程的ID,任務管理器->進程選項卡->查看->選擇列->勾上"PID(進程標識符)",然後就能看見了。
XP下還有兩個好用的工具tasklist和tskill。tasklist能列出所有的進程,和相應的信息。tskill能查殺進程,語法很簡單:tskill
程序名!
結束進程的一些巧用小竅門:
誤刪VCD文件的另類恢復
現在很多人會把一些不錯的VCD直接拷入硬碟保存。但你是否誤刪過這些百看不厭的經典之作呢?那麼怎樣才能在不用恢復軟體的情況下手動恢復它們呢?
筆者找到了一個另類的恢復方法,並且效果還不錯。首先要知道誤刪的VCD文件的文件名和原文件存儲路徑。一般情況下VCD的主要視頻文件是VCD根目錄下的Mpegav文件夾,文件名一般為Avseq0?.dat或Music0?.dat,其中「?」代表數字(1~9)。有的VCD序幕和正式內容是一個文件,即Avseq01.dat或Music01.dat;也有的VCD序幕和正式內容分別為兩個文件,即序幕為Avseq01.dat或Music01.dat,而正式內容為Avseq02.dat或Music02.dat。
首先,找一個和誤刪文件同名的文件(暫且稱為A),接著將A復制到原誤刪文件的同一文件夾中。在出現「正在復制...」窗口時,按下Ctrl+Alt+Del結束「正在復制...」任務,如果「正在復制...」窗口不消失,就再次按下Ctrl+Alt+Del結束「正在復制...」任務。就這么簡單,到原誤刪文件存儲的地方看一下,是不是又失而復得了?用多媒體播放軟體打開,只是開頭幾秒種是文件A的內容,後面的照看不誤。
保存拷了一部分的文件
如果你經常會把MP3、CD、VCD、MPEG、RM等音、視頻文件(或其他類型的文件)從光碟中復制到硬碟,那麼可能會遇到復制到只剩下一點點時,Windows提示「復制文件出錯」,這時只要按回車鍵或點擊「確定」按鈕,那麼辛辛苦苦復制的文件就會丟失。
其實只要馬上激活「任務管理器」,把「出錯的對話框」和「正在復制」的任務都關閉掉。那麼文件就會以原文件大小保存下來了,當然這還是有缺點的,當此類文件播放到斷點的地方時就會停止。
巧玩游戲
本人用的是Windows
XP家庭版,運行一些支持Windows
2000但不支持Windows
XP的游戲時,滑鼠、鍵盤失去反應。某日發現一解法:打開「任務管理器」,結束EXPLORER.EXE進程,點「新任務」,找到游戲運行文件,運行即可。另外,結束SVCHOST.exe(為當前用戶名的)進程可以去掉Windows
XP風格。
I. 如何在windows下調試多線程的命令行程序
windows上調試多線程,可以在被調試線程中加一段asm匯編代碼:
__asm { int 3}
也可以在被調試線程上加上一個輸入操作,中斷線程。
比如 加上一句
getchar()
J. 進程和指令、線程和指令的區別
進程(process)常常被定義為程序的執行。可以把一個進程看成是一個獨立的程序,在內存中有其完備的數據空間和代碼空間。一個進程所擁有的數據和變數只屬於它自己。
線程是指進程內的一個執行單元,也是進程內的可調度實體.
進程與進程的區別:
(1)地址空間:進程內的一個執行單元;進程至少有一個線程;它們共享進程的地址空間;而進程有自己獨立的地址空間;
(2)資源擁有:進程是資源分配和擁有的單位,同一個進程內的線程共享進程的資源
(3)線程是處理器調度的基本單位,但進程不是.
4)二者均可並發執行.
進程和線程都是由操作系統所體會的程序運行的基本單元,系統利用該基本單元實現系統對應用的並發性。進程是系統進行資源分配和調度的一個獨立單位。線程是進程的一個實體,是CPU調度和分派的基本單位,線程自己基本上不擁有系統資源,只擁有一點在運行中必不可少的資源(如程序計數器,一組寄存器和棧),但是它可與同屬一個進程的其他的線程共享進程所擁有的全部資源。一個線程可以創建和撤銷另一個線程,同一個進程中的多個線程之間可以並發執行。