小编ple*_*ood的帖子

如何fork()确切数量的孩子

所以我正在开发一个多次执行某项任务的程序.我已经使用线程编写过程序,但现在我需要使用fork()进程.

使用线程,我只需创建指定数量的线程,让它们执行一个函数(更改共享内存中的变量),然后最终执行在共享内存中使用最终值的内容.

然而,现在我想做同样的事情,但我不知道怎么做,因为每次我调用fork()它本质上都是双倍的.很明显,如果我在forloop中调用fork(),那么每个父进程和子进程将通过自己的循环调用fork().

所以我的问题简而言之:如何使用fork创建一个确切数量的子进程(假设我需要5个子进程),并让我的父进程等到这5个进程完成后再继续运行?

谢谢您的帮助!

c children fork

3
推荐指数
1
解决办法
1万
查看次数

从C中的文件读取时出现Seg Fault

我只是尝试使用3个命令行参数运行此程序:2个int和1个文件名.

我一直在运行我的程序:

a.out 1 2 devices.txt
Run Code Online (Sandbox Code Playgroud)

devices.txt看起来像这样:

1
Run Code Online (Sandbox Code Playgroud)

我的主要方法如下:

int main(int argc, char* argv[]){
int MaxIterations, T, numDevices;
FILE *devices;

printf("Num arguments: %d \n", argc);
if(argc < 3 || argc > 4){
    printf("ERROR, need exactly 2 or 3 arguments!\n");
    return 1;
} else if (argc == 3){

    MaxIterations = argv[1]; // max iterations allowed
    T = argv[2]; // time interval
    devices = fopen("devices.in", "r");
} else {


    MaxIterations = argv[1];
    T = argv[1];
    devices = fopen(argv[3], "r");
    if(devices == NULL){ …
Run Code Online (Sandbox Code Playgroud)

c file segmentation-fault fault

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

从内容面板中删除JTable

我正在使用JTable以图形方式显示我正在开发的应用程序的搜索结果.我希望能够在不再需要表时删除表,然后用新创建的表替换它.以下是我目前将表格添加到JFrame的方法:

    userLibrary = new CustomLibrary(users, LIBRARY_WIDTH, LIBRARY_HEIGHT);
    userLibrary.setOpaque(true);
    userLibrary.setBounds(LIBRARY_START_X, LIBRARY_START_Y, LIBRARY_WIDTH, LIBRARY_HEIGHT);
    getContentPane().add(userLibrary);
Run Code Online (Sandbox Code Playgroud)

我的自定义库(扩展了JPanel)执行以下操作:

public CustomLibrary(LinkedList<User> usernames, int width, int height) {
    CustomTable table = new CustomTable(userRows,columnNames);
    table.setPreferredScrollableViewportSize(new Dimension(width, height));
    table.setFillsViewportHeight(true);
    table.setAutoCreateRowSorter(true);
    JScrollPane scrollPane = new JScrollPane(table);

    // Add the scroll pane to this panel.
    add(scrollPane);
}
Run Code Online (Sandbox Code Playgroud)

现在一切正常并显示我的表,但我无法弄清楚如何从我的内容窗格中完全删除表.我试过打电话

getContentPane().remove(userLibrary);
Run Code Online (Sandbox Code Playgroud)

但这似乎什么都不做.

所以我的一般问题是.一旦我已经创建并绘制了一个表,我如何从我的JFrame中完全删除它?

java swing jtable jframe

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

标签 统计

c ×2

children ×1

fault ×1

file ×1

fork ×1

java ×1

jframe ×1

jtable ×1

segmentation-fault ×1

swing ×1