Bazı örnek kodum var. Çok miktarda veri KodAdim%:Dosyaların daha hızlı okunması, işlenmesi ve oluşturulması nasıl yapılır?
foreach (var currentFile in currentDirectory)
{
string[] contents = File.ReadAllText(currentFile).Split('%');
using (XmlWriter writer = XmlWriter.Create(currentFile.Replace(".txt",".xml")))
{
writer.WriteStartDocument();
writer.WriteStartElement("INFO");
writer.WriteStartElement("INFO");
writer.WriteElementString("USER", contents[1]);
writer.WriteElementString("USERDATA", contents[2]);
writer.WriteEndElement();
writer.WriteEndElement();
writer.WriteEndDocument();
}
}
böyle metinle metin dosyası var. Şimdi bu programı çok iş parçacıklı hale getirmeye çalışıyorum. Hangi yönü kazmalıyım? zaman uyumsuz/bekliyoruz? Multithreading için gerçekten yeni.
Size yapmaya çalışıyorsun ne biraz daha bilgi gerekebilir. Dizindeki tüm dosyalar üzerinde tek bir geçiş yapmanız ve her birini metinden xml'ye dönüştürmeniz gerekiyor mu? Göz önünde bulundurmanız gereken tek şey, bu dosyalara SADECE bir tanesi olup olmadığınızı belirlemektir. – CM0491
Paralelizm, yalnızca işleminizin CPU-yoğun bölümünü kullanacaktır. Prosesinizin birçoğunun paralellikten fayda görmeyecek I/O olduğu anlaşılıyor. Yani aynı anda 3 dosyayı işlemek 1 işlemek için gerçekçi bir hedef değildir. –
Evet, dizini dosya (lar) ile geçirip sonra işleyip xml dosyası yapıyorum. Yani dizindeki her bir textfile bir xml olacaktır. Ben çok kez –