下面的代码在C中有问题。基本上,我想要创建两个线程,并为它们都提供"ergebnis“的整数值。在此之后,线程必须分别计算这个值,并打印它们各自的结果。
在编译过程中,我得到了以下错误:
3.2.c: In function ‘erhoehenumeins’:
3.2.c:10:13: warning: dereferencing ‘void *’ pointer [enabled by default]
3.2.c:10:13: error: void value not ignored as it ought to be
3.2.c: In function ‘verdoppeln
我有:
input1: n to generate primes up to
input2: no of threads to generate primes
我实现了这一点,它可以工作,但是问题是,每个线程都生成自己的素数[2, n]列表。
但我希望这两个线程都能完成相同的任务,生成质数,相互交换,而不是独立地进行切换。如何将n划分为线程数?
#include <pthread.h>
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
void *BusyWork(void *th
我最初为fibonacci变量数组设置了一个全局变量,但发现这是不允许的。我需要进行基本的多线程处理,并处理争用条件,但我无法避免将int作为p线程创建中的一个空参数来输入。我试过用一个没有运气的常数指针。由于某些奇怪的原因,void*通过了第一次布尔测试,但没有通过其他测试,如果:
$ gcc -o fibonacci fibonacci.c
fibonacci.c:22:16: warning: comparison between pointer and integer ('void *' and 'int')
else if (a
我有一个链接到main.c的c++库。在两个文件之间使用了一个全局变量。变量是在sharedata.h中声明的
#ifndef __SHARE_DATA_H__
#define __SHARE_DATA_H__
#include <stdio.h>
#include <pthread.h>
#ifdef __cplusplus
extern "C" {
#endif
// declare your two vars in the header file as extern.
extern pthread_mutex_t mutex;
extern
我试图用两个资源rs1和rs2来理解死锁,这两个资源都有自己的互斥锁,所以proc1锁定resource1并试图获取resource2,同时proc2锁定resource2并试图获取resource1,所以两者都处于死锁状态。下面的程序显示了死锁的情况,但问题是为什么proc1和proc2都不能分别打印"p1 trying to get rs2“和"p2 tying to get rs1”...
#include<pthread.h>
#include<stdio.h>
#include<stdlib.h>
pthread_mutex_t
我在AIX6.1上遇到了一些问题,一旦创建了线程,它看起来就不会死。
编译来源: gcc -pthread sample.c cc_r sample.c
两者具有相同的结果。
我已经尝试通过三种方式分离线程。
1) Main method calls pthread\_detach after its created. 2) Main method attempts to create thread detached through attr arg. 3) Thread function calling pthread\_detach.
我尝试跟踪线程的启动/停止会导致所有
我有以下程序,它生成两个线程到print_something(),并且它们都重复地打印一个特定的字符串:线程1打印"Hi\n",线程2打印"Bye\n"
#include <stdio.h>
#include <stdlib.h>
#include <pthread.h>
void *print_something(int *k)
{
int n = 100;
int i;
if (*k) {
for (i = 0; i < 100; i++) {
p
我正试图用一个向量的形式使用线程和缓冲区来解决生产者-消费者问题。我希望能够输入我将拥有的生产者和消费者的线程数量。只要输入两个值,我就会得到一个分段错误。我正在使用gcc和-lpthread编译代码,我没有收到编译错误。如何修复此错误?
#include <stdio.h>
#include <pthread.h>
#include <stdlib.h>
#define MAX 1000//00 /* Numbers to produce */
#define SIZE 20 /* Size of B
考虑下面的例子。目标是使用两个线程,一个用于“计算”一个值,另一个用于消耗和使用计算值(我已经尝试简化了这一点)。计算线程向另一个线程发出信号,表示该值已被计算,并已通过使用条件变量准备就绪,然后等待线程消耗该值。
// Hopefully this is free from errors, if not, please point them out so I can fix
// them and we can focus on the main question
#include <pthread.h>
#include <stdio.h>
// The data