标签 multithreading 下的文章

  • 📂在Python中设计多进程蜘蛛教程

    我正在使用Python开发多进程蜘蛛.它应该开始抓取一页链接并从那里开始工作.具体来说,顶层页面包含类别列表,这些类别中的第二层页面事件以及事件的最终第三层页面参与者.我无法预测会有多少个类别,事件或参与者.我对如何最好地设计这样的蜘蛛(特别是如何知道它何时完成爬网)不知所措(希望它一直持续到发现并检索到每个相关页面为止).理想情况下,第一个抓取将是同步的,而其他所有内容都不同步,以最大限度...

  • 📂作为线程调用的C函数-Linux Userland程序教程

    我正在用C编写一个Linux守护程序,该守护程序通过SPI接口(ioctl)从ADC获取值. SPI(spidev-用户空间)似乎有点不稳定,并且会在随机时间冻结守护程序.我需要更好地控制对获取值的函数的调用,并且我正在考虑将其作为线程,可以等待完成并获取返回值,如果超时,则假定它冻结并杀死了它.它没有这个新线程关闭守护程序本身.然后,我可以采取一些措施,例如在重启之前重置ADC.这可能吗?...

  • 📂linux-udev线程安全吗?教程

    我想知道产生多个线程是否存在危险,每个线程创建自己的udev上下文并开始监视硬件更改.它会认为,如果每个线程都有自己的udev上下文,那么一切都会很好.但是,如果像udev\_new或udev\_monitor\_new\_from\_netlink之类的调用将访问全局/静态变量,则可能会出现问题.由于README或documentation都没有提及多线程,因此我在这里问它.还有其他知识吗...

  • 📂C#多线程应用程序和SQL连接帮助教程

    关于我编写的应用程序,我需要一些建议.我遇到的问题是由于DAL和与SQL Server 2008数据库的连接未关闭而引起的,但是我查看了我的代码,每个连接始终处于关闭状态.该应用程序是一个多线程应用程序,它检索一组记录,并且在处理记录时会更新有关该记录的信息.流程如下:管理员可以设置要运行的线程数以及每个线程要拉取多少条记录.这是他们单击开始后运行的代码:适配器是我DAL的抽象,这里是它们的...

  • 📂linux-GDB在事后分析中显示错误的线程教程

    我遇到了GDB的奇怪行为.对从c中的高度多线程应用程序转储的内核进行事后分析时,调试器命令bt where thread info 永远不要告诉我程序实际崩溃的线程.它一直向我显示线程号1.由于我经常在其他系统上看到它的工作原理,我很好奇这是GDB中的Bug还是它们以某种方式改变了行为.谁能指出我的解决方案,那就是PITA可以搜索75个线程,只是找出调试器已经知道的东西.顺便说一句,我在De...

  • 📂多个线程以将xml文件加载到内存中教程

    我有一组XML文件,我希望将其加载到内存中以进行处理.我正在将文件加载到Collection中,如果将文件加载到单个线程中而不是使用线程池,则似乎要快得多.我本以为这会是另一回事.为什么使用多个线程将文件加载到内存的情况比我仅遍历文件列表并在单个线程中一个接一个地加载每个文件的情况要慢得多?这是与C#.net 3.5编码:ICollection<XmlDocument> xmlF...

  • 📂linux-显示线程切换的任何方法吗?教程

    所有,是否有任何方法或工具来显示线程切换的过程,也就是说,我可以知道在任何特定时间,哪个线程占用了CPU,以及上下文切换的时间,谢谢解决方法:SystemTap对于这种事情很有用.有一个罐头示例sched\_switch.stp.但是,它不能测量开关的经过时间.至少出于几个原因,这似乎很棘手.首先,您必须为进入和退出确定合适的探针以测量增量,而我现在找不到任何东西. (在相关进程中进入/退出...

  • 📂Python:进程/线程监视教程

    目前,我可以使用简单的python脚本列出我的进程:导入操作系统 os.system(“任务列表”)我想列出所有与那些进程相关的线程(如果有).每个进程的线程数可能就足够了.有人会指导我在哪里可以找到此信息.谢谢.解决方法:您可以将psutil模块(download here)用于跨平台过程信息传递.安装后,使用以下代码获取任何进程ID的线程数.import psutil for proc...

  • 📂Python线程和子进程教程

    所以我在线程方面有问题.我提供了一个与程序中遇到的示例类似的示例.当我运行以下代码时,仅在按下菜单中的“退出”按钮后,它才会打印“你好”.它似乎挂在subprocess.call()上.我不明白怎么了!另外,我没有使用Python进行线程处理的经验,并且我对整个语言还是陌生的,所以请随意对我大喊大叫以了解结构缺陷以及Python编程约定!

  • 📂进程收到SIGSTOP和SIGCONT时如何处理超时?教程

    我有一些使用threading.Timer的Python代码实现60秒的操作超时.问题在于此代码在作业控制环境中运行,在该环境中,它可能会被优先级较高的作业抢占.在这种情况下,它将发送给SIGSTOP,然后再发送给SIGCONT.我需要一种方法以某种方式注意到这种情况的发生并重置超时:显然,如果整个操作被暂停60秒,该操作实际上并没有超时.我试图为SIGCONT添加信号处理程序,但这似乎在提...

  • 📂java-遗传算法的线程池内存不足-为什么?教程

    因此,我正在努力使遗传算法(用Java编码)并行化,并且我决定使用Executor来管理种群中个体的适应性测试的异步执行.我这样做是因为这意味着我可以创建一个具有固定线程池大小的执行程序,并在每一代中简单地重用那些线程,而不是每一代中都创建新线程.现在,我已经进行了一系列测试,以随着人口数量的增长监控我的GA的性能,并且遇到了麻烦.执行以下代码: for(i=1;i<=1...

  • 📂c-使用waitpid等待另一个进程的线程教程

    我正在尝试使用waitpid()等待单个线程而不是进程.我知道pthread\_join()或std :: thread :: join()是等待线程的典型方法.但是,就我而言,我正在开发一个监视应用程序,该应用程序将分叉并执行(通过execv)一个程序,该程序又会生成一些线程.因此,我无法加入来自监视应用程序的线程,因为它们属于不同的进程,并且我无法访问源代码.不过,我希望能够等待这些单独...

  • 📂PHP / MySQL并发-取决于读取的写入-关键部分教程

    我有一个运行PHP MySQL的网站.它是一个多用户系统,大多数MySQL表都是基于MyISAM的.在过去的几个小时里,以下情况使我感到困惑: 我有两个(并发)用户A,B.他们两个都将这样做:对表1执行读操作 在另一个表2上执行写操作(仅当先前的读操作将返回不同的结果时,例如STATUS =“ OK”)B稍微落后于A.所以它会像这样发生:用户A对表1进行读取,并看到STATUS =“ O...

  • 📂java-如何中止JDBC Postgresql CopyManager复制?教程

    有没有办法取消在单独线程中调用copyIn()方法开始的复制过程的方法?说,我有一个csv文件列表,我需要从中复制这些文件,以获取最大的数据库服务器功能.因此,我为n个文件创建了n个线程连接,但是例如,如果选择了错误的文件,我将无法找到中止单个操作的方法.终止线程不起作用-COPY保持运行.FutureTask<>类用于创建线程,因此有一个列表-每个csv一个.调用task.ca...

  • 📂c-Nginx fastcgi多线程教程

    您好,我一直在尝试制作fastcgi应用程序,我希望它是多线程的,以便它可以一次处理很多请求.我找到了代码,并对其进行了一些修改FCGX_InitRequest(&request, 0, FCGI_FAIL_ACCEPT_ON_INTR); for (;;) { static pthread_mutex_t accept_mutex = PTHREAD_MUTEX_INIT...

  • 📂绘制具有多个线程的位图,在Windows和Android中结果不同教程

    我的应用程序创建了Mandelbrot分形的图像.通过计算数据行,将其转换为颜色行,然后将该行复制到位图,可以完成此操作.首先,这是以串行方式完成的,效果很好.现在,我尝试使用多个线程来执行此操作.每个线程都会计算自己的一系列行,例如线程0计算0、4、8、12,…;线程1:1,5,9,…;线程2、2、6、10,…,线程3、3、7 …,在给定的示例中使用了4个线程(FMax\_Threads ...

  • 📂我可以检测到另一个线程挂起的进程并从中恢复吗?教程

    我有一种方法有时会挂起(在无法修改但必须使用的dll中).如果我再次运行它,通常可以正常工作.我想知道是否有可能创建一个等待20分钟的后台线程,然后在程序中引发异常.var triesLeft = 5; while (triesLeft > 0) { try { var t = new Thread(() => { wait(20 minutes); throw ne...

  • 📂在Linux中如何为用户级线程实施抢占式调度?教程

    使用用户级线程,在单个内核线程之上运行N个用户级线程.这与pthread相反,在pthread中,只有一个用户线程在内核线程上运行.N个用户级线程被抢先调度在单个内核线程上.但是如何做到这一点的细节是什么.我听到了一些建议,建议线程库进行设置,以便内核发送信号,这是将执行从单个用户级线程拉到信号处理程序的机制,然后可以执行抢先式调度.但是,如何保存和/或修改状态(例如寄存器和线程结构)以使其...

  • 📂Python:忽略后台进程中的信号教程

    我正在创建一个Python程序,该程序会定期调用外部命令.外部命令需要一些 秒完成.我想减少外部命令终止的可能性 通过为SIGINT添加信号处理程序来严重降低性能.基本上,我希望SIGINT尝试等到命令 在终止Python程序之前执行.问题是,外部Perogram似乎是 也获得SIGINT,导致其突然结束.我正在使用外部线程调用命令,因为 根据http://docs.python....

  • 📂Python Multiprocessing.Process如何重用一个进程?教程

    我正在使用python多处理模块来并行运行一些长时间运行的任务.我正在使用start()方法运行作业,但是一旦作业返回,我想再次运行它们.是否可以重用我创建的流程?还是我每次要运行作业时都必须创建一个新的Process对象?pyhton文档中有这部分建议我不能仅使用onece来使用start()方法,但是也许有人知道重用该实例的另一种方法:start()开始流程的活动.每个过程对象最多只能调...

  • 📂Linux线程睡眠与读取教程

    在我的应用程序中,有一个Linux线程需要每10毫秒激活一次, 因此我使用usleep(10 * 1000).结果:线程永远不会在10毫秒后唤醒,而总是在20毫秒后唤醒.好的,它与调度程序时间片,CONFIG\_HZ等有关. 我试图使用usleep(1 * 1000)(即1毫秒),但结果是相同的.线程总是在20毫秒后唤醒.但是在同一应用程序中,另一个线程处理每10毫秒出现的网络事件(UD...

  • 📂linux-如何查看哪个CPU上正在运行哪些进程?教程

    我有一个多线程c编程,并使用cpu亲和力将不同的不同线程锁定到不同的cpus中.但是,如何检查哪个进程在哪个CPU上运行?通过“顶部”,我只能看到那些过程.就像PID xxxx在CPU 5上运行一样谢谢解决方法:在Linux上,您可以在proc文件系统中找到此信息.对于每个线程,文件系统中都有一个具有以下名称的文件:/proc/<pid>/task/<tid>/sta...

  • 📂如何在python中一个接一个地运行两个进程教程

    我正在尝试运行两个命令,一个接一个.我的代码如下:baking.bake() print "baking completed" 我的目标是运行akeing.bake()(大约需要1分钟才能完成),此后立即要打印“开始烘焙”.最后,烘烤完成后,我要打印“烘烤完成”.本质上:如何异步运行bake()?这是我的backing.py文件# Bake a texture map f...

  • 📂Windows服务异常处理和计时器教程

    我在使用System.Timers.Timer时遇到问题. 确切地说,它不会引发任何异常.这是我的代码:private Timer MyTimer { get; set; } public MyService() { InitializeComponent(); AppDomain.CurrentDomain.UnhandledException += CurrentDo...

  • 📂C#内存屏障教程

    我对C#中的内存障碍有疑问. 例如,如果写语句是方法中的最后一条语句(变量v2是所关注的变量):int _v1 = 0; int _v2 = 0 void X() { _v1 = 2; _v2 = 3; Thread.MemoryBarrier(); } 因为\_v2写是最后一条语句,所以是否需要内存屏障语句.换句话说,处理器是否认识到这是方法的结束,应该将其缓存刷...

  • 📂在Linux / C中,发送到线程/进程的信号是否使其变为活动状态?教程

    在Linux中,将信号发送到进程/线程(无论出于何种原因)时,是否立即调用信号处理程序(假设有一个信号处理程序,并且未阻塞信号)?我的意思是,我非常确定在处理信号的进程/线程中,它将立即被调用,但是对于其他进程/线程,我的意思是.并且,如果立即调用该处理程序,是否还会使相应的进程/线程处于活动状态(以便其正常执行立即继续)?编辑由于我最初的问题似乎被误解了,因此我将尝试通过一个示例再次进行解...

  • 📂轮询子进程对象而不会阻塞教程

    我正在编写一个python脚本,该脚本在后台启动程序,然后进行监视以查看它们是否遇到错误.我正在使用子流程模块来启动流程并保留正在运行的程序的列表.process.append((subprocess.Popen(命令,stdin = subprocess.PIPE,stdout = subprocess.PIPE,stderr = subprocess.PIPE),命令))我发现当我尝试通...

  • 📂c-G命令行与线程标志一起使用,Linux makefile不起作用教程

    此命令行在ubuntu上运行精美(使用C和线程):g++ -std=c++11 prog.cpp -o prog.out -lpthread 我的makefile文件炸毁了:all: main main: prog.o g++ -o prog prog.o prog.o: prog.cpp g++ -std=c++11 -c prog.cpp -lpthread 我不确定...

  • 📂c-使用CreateEvent和WaitForMultipleObjects的端口程序到Linux教程

    我需要将使用Windows API函数SetEvent,CreateEvent和WaitForMultipleObjects的多进程应用程序移植到Linux.我发现了许多与此问题有关的线程,但是没有一个线程为我的问题提供了合理的解决方案.我有一个应用程序,它可以分为三个进程,并通过这些事件管理一个进程的线程工作池.我对此问题有多种解决方案.一种是在Linux上使用mkfifo在FIFO上创建...

  • 📂从Windows cmd或IDLE但不是从PyCharm运行时,“ QThread:线程仍在运行时被销毁”吗?教程

    这是使用QObject.moveToThread实现PyQt多线程的程序的简化版本.基本上,我在一个单独的线程上查询网页并提取HMTL内容.我在从IDLE或Windows命令行运行代码挂起python时遇到此问题. Windows cmd显示“ QThread:线程仍在运行时被销毁”.但是,如果我从Pycharm运行它,则一切正常.您可以获取.ui文件here有任何想法吗?import re...