寻找一些简单的线程池实现的示例代码(C#).
我在codeproject上找到了一个,但代码库很大,我不需要所有的功能.
无论如何,这更多是出于教育目的.
我有需要在某个后台线程上执行的数据.我有来自所有其他需要调用的线程的代码.有没有人有一个很好的教程或最佳实践有一个同步队列来支持这个线程要求
我正在开发一个控制台应用程序
我想使用Threadpool来执行Web下载.这是一些假代码.
for (int loop=0; loop< 100; loop++)
{
ThreadPool.QueueUserWorkItem(new WaitCallback(GetPage), pageList[loop]);
}
snip
private static void GetPage(object o)
{
//get the page
}
Run Code Online (Sandbox Code Playgroud)
如何防止我的代码启动两个以上(或十个或其他)同步线程?
我试过了
ThreadPool.SetMaxThreads(1, 0);
ThreadPool.SetMinThreads(1, 0);
Run Code Online (Sandbox Code Playgroud)
但他们似乎没有任何影响.
在没有遇到竞争条件的情况下,在并发程序中从BlockingQueue中获取对象的最佳方法是什么?我目前正在做以下事情,我不相信这是最好的方法:
BlockingQueue<Violation> vQueue;
/*
in the constructor I pass in a BlockingQueue object
full of violations that need to be processed - cut out for brevity
*/
Violation v;
while ( ( v = vQueue.poll(500, TimeUnit.MILLISECONDS) ) != null ) {
// do stuff with the violation
}
Run Code Online (Sandbox Code Playgroud)
我还没有达到竞争状态......但是,我不确定这是否真的安全.