Click here to Skip to main content
15,909,652 members
Home / Discussions / C#
   

C#

 
GeneralRe: MultiThread and File process Pin
Ilia Blank18-Jan-10 4:53
Ilia Blank18-Jan-10 4:53 
GeneralRe: MultiThread and File process Pin
AlexB4718-Jan-10 4:58
AlexB4718-Jan-10 4:58 
GeneralRe: MultiThread and File process Pin
Ilia Blank18-Jan-10 5:04
Ilia Blank18-Jan-10 5:04 
AnswerRe: MultiThread and File process Pin
wjp_auhtm15-Jan-10 3:54
wjp_auhtm15-Jan-10 3:54 
GeneralRe: MultiThread and File process Pin
AlexB4715-Jan-10 4:06
AlexB4715-Jan-10 4:06 
GeneralRe: MultiThread and File process Pin
wjp_auhtm16-Jan-10 2:29
wjp_auhtm16-Jan-10 2:29 
GeneralRe: MultiThread and File process Pin
Luc Pattyn15-Jan-10 5:13
sitebuilderLuc Pattyn15-Jan-10 5:13 
AnswerRe: MultiThread and File process Pin
Alaric Dailey15-Jan-10 6:00
Alaric Dailey15-Jan-10 6:00 
Is something like this what you are looking for? (this example will allow you to read as many files as you like)

using System;
using System.IO;
using System.Threading;
using System.Windows.Forms;

namespace MultiThreadedFileRead
{
    public partial class Form1 : Form
    {
        private readonly object _syncRoot = new object();

        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            if (openFileDialog1.ShowDialog() == DialogResult.OK)
            {
                listBox1.Items.Add(openFileDialog1.FileName);
            }
        }

        private void button2_Click(object sender, EventArgs e)
        {
            foreach (object file in listBox1.Items)
            {
                ThreadPool.QueueUserWorkItem(ThreadFunc, file);
            }
        }


        private void WouldBeEventHandler(string s)
        {
            if (InvokeRequired)
            {
                Action<string> d = WouldBeEventHandler;
                BeginInvoke(d, new object[]{s});
                return;
            }

            lock (_syncRoot)
            {
                listBox2.Items.Add(s);
            }
        }

        private void ThreadFunc(object state)
        {
            string filename = state as string;
            if (!string.IsNullOrEmpty(filename))
            {
                using (StreamReader fs = File.OpenText(filename))
                {
                    while (!fs.EndOfStream)
                    {
                        WouldBeEventHandler(fs.ReadLine());
                        Application.DoEvents();
                    }
                }
            }
        }
    }
}

GeneralRe: MultiThread and File process Pin
AlexB4717-Jan-10 20:45
AlexB4717-Jan-10 20:45 
GeneralRe: MultiThread and File process Pin
Alaric Dailey18-Jan-10 4:37
Alaric Dailey18-Jan-10 4:37 
QuestionSystem.InvalidCastException Query Pin
DwR15-Jan-10 2:45
DwR15-Jan-10 2:45 
AnswerRe: System.InvalidCastException Query Pin
DwR16-Jan-10 2:45
DwR16-Jan-10 2:45 
AnswerRe: System.InvalidCastException Query Pin
Eddy Vluggen17-Jan-10 10:50
professionalEddy Vluggen17-Jan-10 10:50 
GeneralRe: System.InvalidCastException Query Pin
FenixTX10-Feb-10 3:52
FenixTX10-Feb-10 3:52 
GeneralRe: System.InvalidCastException Query Pin
Eddy Vluggen10-Feb-10 4:18
professionalEddy Vluggen10-Feb-10 4:18 
QuestionTrap and Read magnetic tripe card reader [modified] Pin
Kaikus14-Jan-10 23:57
Kaikus14-Jan-10 23:57 
AnswerRe: Trap and Read magnetic tripe card reader Pin
OriginalGriff15-Jan-10 0:24
mveOriginalGriff15-Jan-10 0:24 
AnswerRe: Trap and Read magnetic tripe card reader Pin
Roger Wright15-Jan-10 17:29
professionalRoger Wright15-Jan-10 17:29 
QuestionApplication Domain Pin
dataminers14-Jan-10 23:24
dataminers14-Jan-10 23:24 
AnswerRe: Application Domain Pin
EliottA15-Jan-10 2:44
EliottA15-Jan-10 2:44 
AnswerRe: Application Domain Pin
Eddy Vluggen15-Jan-10 3:11
professionalEddy Vluggen15-Jan-10 3:11 
GeneralRe: Application Domain Pin
dataminers15-Jan-10 9:50
dataminers15-Jan-10 9:50 
GeneralRe: Application Domain Pin
Eddy Vluggen15-Jan-10 11:17
professionalEddy Vluggen15-Jan-10 11:17 
GeneralRe: Application Domain Pin
dataminers16-Jan-10 2:23
dataminers16-Jan-10 2:23 
GeneralRe: Application Domain Pin
Eddy Vluggen16-Jan-10 8:50
professionalEddy Vluggen16-Jan-10 8:50 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.