我有一大堆的方法的類。例如如何使用同一類的多線程在C#
private int forFunction(String exceptionFileList, FileInfo z, String compltetedFileList, String sourceDir)
{
atPDFNumber++;
exceptionFileList = "";
int blankImage = 1;
int pagesMissing = 0;
//delete the images currently in the folder
deleteCreatedImages();
//Get the amount of pages in the pdf
int numberPDFPage = numberOfPagesPDF(z.FullName);
//Convert the pdf to images on the users pc
convertToImage(z.FullName);
//Check the images for blank pages
blankImage = testPixels(@"C:\temp", z.FullName);
//Check if the conversion couldnt convert a page because of an error
pagesMissing = numberPDFPage - numberOfFiles;
}
現在什麼即時通訊正試圖進行訪問的線程類..但不只是一個線程,也許大約有5個線程來加速處理,因爲一個線程有點慢。
現在我的腦海裏,這將是混亂...我的意思是一個線程更改變量,而另一個線程忙於他們等等,並鎖定每一個變量在所有這些方法...不去有一個良好的時間...
那麼IM的提出,和不知道它的正確方法..這是
public void MyProc()
{
if (this method is open, 4 other threads must wait)
{
mymethod(var,var);
}
if (this method is open, 4 other threads must wait and done with first method)
{
mymethod2();
}
if (this method is open, 4 other threads must wait and done with first and second method)
{
mymethod3();
}
if (this method is open, 4 other threads must wait and done with first and second and third method)
{
mymethod4();
}
}
這將是接近多線程的訪問問題的正確方法多個方法在同一時間?
那些線程只會訪問Class 5次,不會再有,因爲工作負載將被平分。
您對術語的混合確實沒有幫助。你不會運行一個類,也不會有一種被稱爲'myClass'的方法。如果你能舉一個更具體的例子,它會有所幫助... –
正在更新它。 Thanx – Ruan
如果您要定位特定語言,請將其作爲您問題的標記。現在我添加了「java」標籤,因爲代碼看起來像Java。 –