小编Geo*_* R.的帖子

Java while(true)循环只在线程内执行一次

我试图用Java实现一个简单的客户端 - 服务器应用程序.

这是代码:

Client.java

public class Client implements Runnable {
    private String hostName;
    private int portNumber;
    private String message;

    private Socket socket;
    private PrintWriter writer;
    private BufferedReader reader;

    public Client(String hostName, int portNumber, String message) {
        this.hostName = hostName;
        this.portNumber = portNumber;
        this.message = message;
    }

    public void connect() {
        try {
            socket = new Socket(hostName, portNumber);
            writer = new PrintWriter(socket.getOutputStream(), true);
            reader = new BufferedReader(new InputStreamReader(socket.getInputStream()));

            writer.println(message);
        } catch (UnknownHostException e) {
            System.err.println("Could not resolve the host name …
Run Code Online (Sandbox Code Playgroud)

java multithreading

7
推荐指数
1
解决办法
1051
查看次数

访问动态分配的struct成员时的"Segmentation fault"

我已经开始研究一个实现名为"PhoneBook"的结构的程序,该结构有两个成员:"length"和"allocatedSpace",两者都是"unsigned int"类型.结构是动态分配的.结构的两个成员在一个名为"InitializePhoneBook"的外部函数中分配.现在,当我尝试在"main"函数内打印结构的两个成员的值时,我得到"分段错误"错误.

PhoneBook.h

#ifndef PHONEBOOK_H
#define PHONEBOOK_H

struct PhoneBook
{   
    unsigned int length;
    unsigned int allocatedSpace;
};

void InitializePhoneBook(struct PhoneBook *phoneBook);
void ClearPhoneBook(struct PhoneBook *phoneBook);

#endif
Run Code Online (Sandbox Code Playgroud)

PhoneBook.c

#include <stdlib.h>

#include "PhoneBook.h"

void InitializePhoneBook(struct PhoneBook *phoneBook)
{
    phoneBook = malloc(sizeof(struct PhoneBook) * 1);

    phoneBook->length = 0;
    phoneBook->allocatedSpace = 1000;
}

void ClearPhoneBook(struct PhoneBook *phoneBook)
{
    free(phoneBook);
}
Run Code Online (Sandbox Code Playgroud)

main.c中

#include <stdio.h>
#include <stdlib.h>

#include "PhoneBook.h"

int main(void)
{
    struct PhoneBook *phoneBook;

    InitializePhoneBook(phoneBook);

    printf("%d %d\n", phoneBook->length, phoneBook->allocatedSpace);

    ClearPhoneBook(phoneBook);

    return 0;
} 
Run Code Online (Sandbox Code Playgroud)

用"gdb"运行"./a.out"我得到:

Program …
Run Code Online (Sandbox Code Playgroud)

c struct heap-memory

2
推荐指数
1
解决办法
89
查看次数

计算一大笔的模数

我需要计算

 1^2 + 2^2 + ... + n^2 modulo 10234573 
Run Code Online (Sandbox Code Playgroud)

对于n高达20亿元.我需要使用本机C++库.我无法弄清楚如何做到这一点,因为它看起来像是一个巨大的数字.

c++ algorithm modulo

0
推荐指数
1
解决办法
161
查看次数

标签 统计

algorithm ×1

c ×1

c++ ×1

heap-memory ×1

java ×1

modulo ×1

multithreading ×1

struct ×1