多线程问题 有错误

问题描述

usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Text;usingSystem.Windows.Forms;usingSystem.Threading;namespacemulthread{publicpartialclassForm1:Form{publicForm1(){InitializeComponent();}privatevoidbutton1_Click(objectsender,EventArgse){inti;infor.node[]tem=newinfor.node[3];for(i=0;i<3;i++){tem[i].data=2*i;}Class1ca=newClass1();//for(i=0;i<3;i++)//{ThreadPool.QueueUserWorkItem(newWaitCallback(ca.func),newinfor(tem,3));ThreadPool.QueueUserWorkItem(newWaitCallback(ca.func),newobject//}}}publicclassClass1{publicinttemp;publicstringstr;publicvoidfunc(objectstate){for(intt=0;t<3;t++){MessageBox.Show(((infor.node)state).data.ToString());//MessageBox.Show(t.ToString());}}}publicclassinfor{publicstructnode{publicintdata;publicstringstr;}publicinfor(node[]t,intn){node[]nd=newnode[n];for(inti=0;i<n;i++){nd[i]=t[i];}}}}不知道哪里错了请高人指点

解决方案

解决方案二:
ThreadPool.QueueUserWorkItem(newWaitCallback(ca.func),newobject

时间: 2024-09-21 20:25:35

多线程问题 有错误的相关文章

Java 多线程 死锁 隐性死锁 数据竞争 恶性数据竞争 错误解决深入分析 全方向举例

在几乎所有编程语言中,由于多线程引发的错误都有着难以再现的特点,程序的死锁或其它多线程错误可能只在某些特殊的情形下才出现,或在不同的VM上运行同一个程序时错误表现不同.因此,在编写多线程程序时,事先认识和防范可能出现的错误特别重要.无论是客户端还是服务器端多线程Java程序,最常见的多线程问题包括死锁.隐性死锁和数据竞争. Java线程死锁如何避免这一悲剧  Java线程死锁需要如何解决,这个问题一直在我们不断的使用中需要只有不断的关键.不幸的是,使用上锁会带来其他问题.让我们来看一些常见问题以

【JAVA秒会技术之多线程】多线程java.util.concurrent详解

一.多线程 1.操作系统有两个容易混淆的概念,进程和线程. 进程:一个计算机程序的运行实例,包含了需要执行的指令:有自己的独立地址空间,包含程序内容和数据:不同进程的地址空间是互相隔离的:进程拥有各种资源和状态信息,包括打开的文件.子进程和信号处理. 线程:表示程序的执行流程,是CPU调度执行的基本单位:线程有自己的程序计数器.寄存器.堆栈和帧.同一进程中的线程共用相同的地址空间,同时共享进进程锁拥有的内存和其他资源. 2.Java标准库提供了进程和线程相关的API,进程主要包括表示进程的jav

SQLite ADO.NET 驱动(C#)下载

加入了最新的SQLite 3.3.12 代码 加入了大量的代码去处理数据库滥用引发的异常. 实现了新的底层析构函数(finalizers), 修正 了许多当对象没有被正常处理时垃圾回收的问题, 修正了一些对象的生存期问题等. 如果一个事物提交失败( Commit() )不再会留下一个无法提交的事物. 修正了一个在测试实例中没有引发任何错误,但确实会导致崩溃的问题. 当一个和连接绑定的命令 没有从内部命令列表中添加或删除自己–当试图关闭连接的时候会出现 "数据库锁定" 的错误. 修正了当

多线程段错误-多线程挂掉----哪个大神可以解决下,多谢啦!

问题描述 多线程挂掉----哪个大神可以解决下,多谢啦! 1 #include 2 #include 3 #include 4 #include 5 #define PAI 3.14159 6 void* area(void* arg){ 7 double r = (double)arg; 8 double* s=malloc(sizeof(double)); 9 s = PAI * r * r; 10 return s; 11 } 12 int main(void) { 13 printf("

qt c++-qt中多线程问题什么都没写就出现错误

问题描述 qt中多线程问题什么都没写就出现错误 想编写一个多线程,就添加了.h .cpp文件 定义了Thread类,什么还没写就出现了这样的错误?新建一个工程以后还是一样的错误.如何解决?错误出现在moc_thread.cpp这是什么文件? 解决方案 类定义最后没有加上分号 13行最后加上分号 解决方案二: 如一楼所说,类定义最后要加分号.其实编译器已经告诉你了,C2146

线程池运用实例——一次错误的多线程程序设计以及修复过程

写在前面的话  写下这篇文章只为了回顾之前在实际工作中犯的一个极其二逼的错误,用我的经历来提示后来者,诸位程序大神,大牛,小牛们看到此文笑笑即可,轻拍轻拍... 1 背景 有这么一个需求,我们的系统(后面简称:A系统)需要在后台执行一个报表导出任务,在这个任务的执行过程中需要通过CORBA调用其他系统(后面简称:B系统)的一个(也有可能是多个)接口去查询报表,待结果返回后,将这些结果写入Excel.这个需求是不是很简单?套用网上一些FutureTask或者线程池的例子一两小时就能搞定这个需求.当

libevent多线程服务器错误

问题描述 libevent多线程服务器错误 #include "lib_net.h" #include "lib_thread.h" #include "lib_public.h" #include #include #include #define BACKLOG 10 #define MAX_EVENTS 500 #define THRD_NUM 5 char ip[24]; short port; struct st_listenserv

udp多线程-linux下udp 多线程错误

问题描述 linux下udp 多线程错误 udp 的多线程调用怎么报sendto参数无效错误啊!!! Invalid argument 解决方案 是不是调用sendto的socket对象不能跨线程使用 解决方案二: 把你的sendto附近的代码贴出来?

多线程-vs2015类型重定义错误

问题描述 vs2015类型重定义错误 c实现多线程发生错误.安装pthread后,运行出现错误,错误为:c2011 "timespec":"struct"类型重定义.错误头文件是pthread.h.怎么解决啊?谢谢各位了! 解决方案 将#include <windows.h>放在#include<winsock2.h>之后 解决方案二: 长见识了,VS链接中的重定义错误VS2008里 struct 类型重定义 错误VS2008里 struct